    var lastPrice    = null;
    var lastCategory = null;
    var timer        = undefined;

    
    function calcRanking(price, category)
    {
        var title = document.getElementById('tl').value;
        var req = new JsHttpRequest();
        
        req.onreadystatechange = function()
        {
            if (4 == req.readyState)
            {
                document.getElementById('rank').innerHTML = "Your link will be placed #" + req.responseJS.rank + " out of " + req.responseJS.total;
                lastPrice = price;
                lastCategory = category;
            }
        }

        document.getElementById('rank').innerHTML = '<img src="/img/ajax-loader.gif" alt="Loading..." />';

        req.open('GET', '/rank.php', true);
        req.send( {price:price, category:category, title:title} );
    }
    
    function checkPrice()                                                   
    {
        timer = undefined;
        var preg = new RegExp("^[\$]?(([1-9][0-9]*)|([0-9]*(\.[0-9]{1,2})))$");
        var creg = new RegExp("^[1-9][0-9]*$");

        var price    = document.getElementById('price').value;
        var category = document.getElementById('cat').value;

        var result = '';

        if (!preg.test(price) || !creg.test(category) || price < MIN_PRICE)
        {
            if (price < MIN_PRICE)
            {
                document.getElementById('rank').innerHTML = "Entered price is less than minimum price";
            }
            else
            {
                document.getElementById('rank').innerHTML = "";
            }
            document.getElementById('price').className = 'error_field_2';
            return false;
        }

        var m = preg.exec(price);

        if (m[0] != lastPrice || category != lastCategory)
        {
            calcRanking(m[0], category);
        }

        document.getElementById('price').className = 'correct_field_2';
        return true;
    }



    function setCheckPrice()
    {
        if (timer) {
          window.clearTimeout(timer);
        }
        timer = window.setTimeout(checkPrice, 500);
    }
