function HandleCheckPriceLink()
{
    header("Content-type: text/html; charset=windows-1251");
    require_once "YandexTICGrabber.php";
    require_once "CheckPageRankGrabber.php";
    $json = new Services_JSON();
    $result = array("url" => $_REQUEST["url"], "rowNum" => (int) $_REQUEST["rowNum"]);
    $proxyService = new ProxiesService("yandex", SERVER_IP);
    $res = $proxyService->getProxyData();
    if (PEAR::isError($res)) {
        $result["error"] = $res->getMessage();
        print $json->encode($result);
        exit;
    }
    if (isset($_REQUEST["delay"]) && $_REQUEST["delay"] == "true") {
        if (isset($_REQUEST["delayValue"])) {
            sleep((int) $_REQUEST["delayValue"]);
        } else {
            sleep(DELAY_BEFORE_REQUEST);
        }
    }
    $_REQUEST["url"] = trim($_REQUEST["url"]);
    $parserTic =& new YandexTICGrabber();
    $parserTic->showInfo = false;
    $resultTic = $parserTic->parseForDomen(removeWWW($_REQUEST["url"]));
    $proxyService->increase();
    $resultTicNoWww = $parserTic->parseForDomen("www." . removeWWW($_REQUEST["url"]));
    $resultTic = max($resultTic["num"], $resultTicNoWww["num"]);
    if ($resultTic < 0) {
        $result["error"] = "Wrong CY";
        print $json->encode($result);
        exit;
    }
    $proxyService->increase();
    $parserRank =& new CheckPageRankGrabber();
    $parserRank->showInfo = false;
    $resultRank = $parserRank->parseForDomen($_REQUEST["url"]);
    $pageRank = max($resultRank["www"], $resultRank["nowww"]);
    if ($pageRank < 0) {
        $result["error"] = "Wrong Page Rank";
        print $json->encode($result);
        exit;
    }
    if (strpos($_REQUEST["url"], "http://") === false || strpos($_REQUEST["url"], "http://") > 0) {
        $_REQUEST["url"] = "http://" . $_REQUEST["url"];
    }
    $res = getLinksForUrlDOM($_REQUEST["url"]);
    if (PEAR::isError($res)) {
        $result["error"] = $res->getMessage();
        print $json->encode($result);
        exit;
    }
    list($linksCount, $linksCountNoIndex, $linksCountIn, $linksCountOut, $linkCountOur) = $res;
    $lCount = $linksCountOut + $linkCountOur;
    switch ((int) $_REQUEST["linktype"]) {
        case 1:
            $result["num1"] = get_face_value($pageRank, $resultTic, -1);
            $result["num"] = get_face_value($pageRank, $resultTic, $linksCountOut + $linkCountOur);
            break;
        case 2:
            $result["num1"] = get_inner_value($pageRank, $resultTic, -1);
            $result["num"] = get_inner_value($pageRank, $resultTic, $linksCountOut + $linkCountOur);
            break;
    }
    $result["linksCountOut"] = $lCount;
    $result["pr"] = $pageRank;
    $result["cy"] = $resultTic;
    print $json->encode($result);
}
function HandleCheckPageLinks()
{
    header("Content-type: text/html; charset=windows-1251");
    print " ";
    $json = new Services_JSON();
    $result = array("rowNum" => (int) $_REQUEST["rowNum"], "url" => $_REQUEST["url"]);
    if (isset($_REQUEST["delay"]) && $_REQUEST["delay"] == "true") {
        if (isset($_REQUEST["delayValue"])) {
            sleep((int) $_REQUEST["delayValue"]);
        } else {
            sleep(DELAY_BEFORE_REQUEST);
        }
    }
    $_REQUEST["url"] = trim($_REQUEST["url"]);
    if (strpos($_REQUEST["url"], "http://") === false || strpos($_REQUEST["url"], "http://") > 0) {
        $_REQUEST["url"] = "http://" . $_REQUEST["url"];
    }
    $res = getLinksForUrlDOM($_REQUEST["url"]);
    if (PEAR::isError($res)) {
        $result["error"] = $res->getMessage();
        print $json->encode($result);
        exit;
    }
    list($linksCount, $linksCountIndex, $linksCountIn, $linksCountOut, $linksCountOur) = $res;
    // Кривые резульаты
    if ($linksCount - $linksCountIndex < 0 || $linksCount == 0 && $linksCountIndex == 0 && $linksCountIn == 0 && $linksCountOut == 0 && $linksCountOur == 0 || $linksCount <= 5) {
        // Загрузка без прокси
        $res = getLinksForUrlDOM($_REQUEST["url"], false);
        if (PEAR::isError($res)) {
            $result["error"] = $res->getMessage();
            print $json->encode($result);
            exit;
        }
        list($linksCount, $linksCountIndex, $linksCountIn, $linksCountOut, $linksCountOur) = $res;
        // Кривые резульаты
        if ($linksCount - $linksCountIndex < 0 || $linksCount == 0 && $linksCountIndex == 0 && $linksCountIn == 0 && $linksCountOut == 0 && $linksCountOur == 0 || $linksCount <= 5) {
            $res = getLinksForUrl($_REQUEST["url"]);
            if (PEAR::isError($res)) {
                $result["error"] = $res->getMessage();
                print $json->encode($result);
                exit;
            }
            list($linksCount, $linksCountNoIndex, $linksCountIn, $linksCountOut, $linksCountOur) = $res;
            $result["linksCountNoIndex"] = $linksCountNoIndex;
            $result["linksCount"] = $linksCount;
            $result["linksCountIn"] = $linksCountIn;
            $result["linksCountOut"] = $linksCountOut;
            $result["diff"] = $linksCount - $result["linksCountNoIndex"];
            $result["linksCountOur"] = $linksCountOur;
        } else {
            $result["linksCountNoIndex"] = $linksCount - $linksCountIndex;
            $result["linksCount"] = $linksCount;
            $result["linksCountIn"] = $linksCountIn;
            $result["linksCountOut"] = $linksCountOut;
            $result["diff"] = $linksCount - $result["linksCountNoIndex"];
            $result["linksCountOur"] = $linksCountOur;
        }
    } else {
        $result["linksCountNoIndex"] = $linksCount - $linksCountIndex;
        $result["linksCount"] = $linksCount;
        $result["linksCountIn"] = $linksCountIn;
        $result["linksCountOut"] = $linksCountOut;
        $result["diff"] = $linksCount - $result["linksCountNoIndex"];
        $result["linksCountOur"] = $linksCountOur;
    }
    print $json->encode($result);
}