function isValidDomain(domain) {
    var RegExp = /^([a-zA-Z0-9\-]+(\.|\-*\.))+[a-zA-Z]{2,6}$/;
    if (RegExp.test(domain)) {
        return true;
    } else {
        return false;
    }
}
function isValidIP(ip) {
    var RegExp = /^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/;
    if (RegExp.test(ip)) {
        return true;
    } else {
        return false;
    }
}
function isValidEmail(email) {
    var RegExp = /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/;
    if (RegExp.test(email)) {
        return true;
    } else {
        return false;
    }
}
function GetRandom() { return Math.floor(Math.random() * 9999); };
function CancelBubble(event) { if (event.stopPropagation) { event.stopPropagation(); } else if (window.event) { window.event.cancelBubble = true; } };
function OnSearchFormSubmit() {
    var searchText = $('search').value;
    if (isValidDomain(searchText) || isValidIP(searchText)) {
        $('loadingAnimation').style.display = "block";
        $('invalidIpOrDomain').style.display = "none";
        $('ResultsContainer').innerHTML = "";
        window.location = "/" + searchText;
        //new ajax('/AjaxSearch', { postBody: 'search=' + $('search').value, update: $('ResultsContainer'), onComplete: function(request) { $('loadingAnimation').style.display = "none"; } });
    }
    else {
        $('ResultsContainer').innerHTML = "";
        $('invalidIpOrDomain').style.display = "block";
    }

    return false;
}
if ($('search') != null) {
    $('search').onclick = function() { $('invalidIpOrDomain').style.display = "none"; $('loadingAnimation').style.display = "none"; };
    $('search').onkeypress = function() { $('invalidIpOrDomain').style.display = "none"; $('loadingAnimation').style.display = "none"; };
    $('search').setAttribute("autocomplete", "off");
}
function QueueThisHostForUpdate(host) { new ajax('/QueueHostUpdate/' + host, { onComplete: function(request) { alert(request.responseText); } }); };

dw_Tooltip.defaultProps = {
    hoverable: true,
    opacity: 94
}
dw_Tooltip.content_vars = {
    searchResultDetail: {
        hoverable: true,
        content: 'Not loaded!'
    },
    navMenuTools: {
        str: 'The Host Spy extensions displays the host name check results with ease.',
        wrapFn: dw_Tooltip.wrapToWidth
    },
    navMenuBrowser: {
        str: 'View information about your IP address and browser.',
        wrapFn: dw_Tooltip.wrapToWidth
    },
    navMenuFaq: {
        str: 'FAQ - Domain Name Server Glossary',
        wrapFn: dw_Tooltip.wrapToWidth
    }
}
function setToolTipContent(host) {
    content = '<div style="border-bottom: 1px solid #ccc; font-size: 16px; padding-left: 2px; font-weight: bold; overflow:hidden;">%s</div>';
    content += '<ul>';
    content += '<li><a href="http://%s" target="_blank">Visit Site</a></li>';
    content += '<li><a href="javascript:;;" onclick="QueueThisHostForUpdate(\'%s\')">Queue This Host For Update</a></li>';
    content += '<li><a href="http://www.alexa.com/data/details/traffic_details/%s" target="_blank">Alexa Rank</a></li>';
    content += '<li><a href="http://snapshot.compete.com/%s" target="_blank">Compete Rank</a></li>';
    content += '<li><a href="http://www.google.com/search?hl=en&q=link%3Ahttp%3a%2f%2f%s" target="_blank">Google BackLinks</a></li>';
    content += '<li><a href="http://search.live.com/results.aspx?q=link%3Ahttp%3a%2f%2f%s" target="_blank">Live Search BackLinks</a></li>';
    content += '<li><a href="http://www.bloglines.com/search?q=http%3a%2f%2f%s&t=f" target="_blank">Bloglines Subscribers</a></li>';
    content += '</ul>';

    dw_Tooltip.content_vars.searchResultDetail.content = content.replace(/%s/g, host);
}
