﻿var ref_channel_1="";
var ref_channel_2="";
var ref_channel_3="";
var ref_channel_4="";
var ref_channel_ss_ts_1 ="";
var ref_channel_ss_ts_2 ="";
var docReady = false;
var tbLoad=true;
var fbLoggedIn = false;

$(document).ready(function() {
    
     docReady = true;
 
    //draw graphs
    if($("div.graphContainer").length>0)
    {
        $("div.graphContainer").each(function(){
            try{
                var _this = $(this);
                var id = _this.attr("id").replace("Data","");
                var columndata =  jQuery.parseJSON(graphData[id].columndata);
                var columnstypes = jQuery.parseJSON(graphData[id].columntypes);
                var columnscaptions = jQuery.parseJSON(graphData[id].columncaptions);
                var columnsnames = jQuery.parseJSON(graphData[id].columnnames);
                var tablesettings = jQuery.parseJSON(graphData[id].tablesettings);
                
                tablesettings.graph.width = parseInt(_this.css("width").replace("px",""));
                tablesettings.graph.height = parseInt(_this.css("height").replace("px",""));
                
                var dataTable = createTable(columnsnames,columnscaptions,columnstypes,columndata,tablesettings);
                var graphView = createGraphView(dataTable,tablesettings);
                drawGraph(graphView,_this.find("div.graph").attr("id"),tablesettings);
                
            }catch(e){}
        })
    }
    
    if($("div.densityGraphContainer").length>0)
    {
         var columnstypes = jQuery.parseJSON(graphData["global"].columntypes);
         var columnscaptions = jQuery.parseJSON(graphData["global"].columncaptions);
         var columnsnames = jQuery.parseJSON(graphData["global"].columnnames);
         var tablesettings = jQuery.parseJSON(graphData["global"].tablesettings);
        $("div.densityGraphContainer").each(function(){
            try{
                var _this = $(this);
                var id = _this.attr("id");
                var columndata =  jQuery.parseJSON(graphData[id].columndata);
              
                tablesettings.graph.width = parseInt(_this.css("width").replace("px",""));
                tablesettings.graph.height = parseInt(_this.css("height").replace("px",""));
                
                var dataTable = createTable(columnsnames,columnscaptions,columnstypes,columndata,tablesettings);
                var graphView = createGraphView(dataTable,tablesettings);
                drawGraph(graphView,_this.find("div.graph").attr("id"),tablesettings);
                
            }catch(e){}
        })
    }
    
       try  {
        document.getElementById('RightPane').style.position ='static'; 
        
        //limit review text
        $('#reviewerReview').keydown(function(event) 
          {
            var allowedNumberOfChars = 500;

            if( ($('#reviewerReview').val().length) > allowedNumberOfChars)
            {
            event.preventDefault();
            }
          });
     
         }catch(e){}
    
});


function getAjax()
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      return false;
      }
    }
  }
  return xmlHttp;
}


function PostVote(vote, currentSite, newSite, position, parent) {
    var params = "vote=" + vote + "&current=" + escape(currentSite) + "&site=" + escape(newSite) + "&pos=" + position;
    $(parent).addClass("DisplayMe");
    
    var xmlHttp = getAjax();
    xmlHttp.onreadystatechange = function() {
        if (xmlHttp.readyState == 4) {
            if (vote == 0) {
                try { _gaq.push(['_trackEvent','Votes', 'Down', newSite]); } catch (e) { }
                $(parent).html('<div title="'+voteNotSimilar+'" class="t-d-s tooltip-enabled"></div>');
                
            }
            else {
                try { _gaq.push(['_trackEvent','Votes', 'Up', newSite]); } catch (e) { }
                $(parent).html('<div title="'+voteSimilar+'" class="t-u-s tooltip-enabled" style="float:left;"></div>');
            }
        }
    }

    xmlHttp.open("POST", "/vote", true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", params.length);
    xmlHttp.setRequestHeader("Connection", "close");

    xmlHttp.send(params);
}

function PostReview(site,name,email,title,review) {
    name = $("#facebook_user_name").html();
    var params = "site="+site+"&reviewerName="+name+"&email="+email+"&title="+title+"&review="+review;

    var xmlHttp = getAjax();
    xmlHttp.onreadystatechange = function() {
        if (xmlHttp.readyState == 4) {
           
        }
    }

    xmlHttp.open("POST", "/reviews", true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", params.length);
    xmlHttp.setRequestHeader("Connection", "close");

    xmlHttp.send(params);
}

function addReview(site)
{
    var title = document.getElementById('reviewerTitle').value;
    var review =document.getElementById('reviewerReview').value; 
    
    if(site == null || site.length == 0)
        return;
        
    if(fbLoggedIn == undefined || fbLoggedIn == false)
    {
        $("div.err_fb_message").show();
        if($("div.fbLoggedOut").css("display") == "none")
        {
           $("div.fbLoggedOut").show(); 
        }
        return;
    }
    
    if(title == null || title == "")
    {
        $('#AddReview .err_message').show();
    }
    else
    {
        PostReview(site,"","",title,review);  
        showModal(reviewCompleted,'AddReview .content');
        _gaq.push(['_trackEvent', 'Reviews', "Added", site]); 
        
                //Clear form
        document.getElementById('reviewerTitle').value = '';
        document.getElementById('reviewerReview').value = ''; 
    }
}

function PostRank(rank, rankSite) {
    var params = "rank=" + rank.toString() + "&ranksite=" + escape(rankSite);
    var xmlHttp = getAjax();
    xmlHttp.onreadystatechange = function() {
        if (xmlHttp.readyState == 4) {
        }
    }

    xmlHttp.open("POST", "/rate", true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", params.length);
    xmlHttp.setRequestHeader("Connection", "close");

    xmlHttp.send(params);
}

function Vote(link, index,site)
{

    var xmlHttp = getAjax();
    xmlHttp.onreadystatechange=function()
    {
        if(xmlHttp.readyState==4)
        {
            if(link.substring(0,10) == "/thumbdown") {
                try { _gaq.push(['_trackEvent', 'Votes', 'Down', site]); } catch (e) { }
                document.getElementById("ResultButtons" + index).innerHTML = '<div title="'+voteNotSimilar+'" class="t-d-s">&nbsp;</div><span style="float:left;display:block;padding-left:5px;line-height:22px;">'+voteCompleteText+'</span>';
            }
            else {
                try { _gaq.push(['_trackEvent', 'Votes', 'Up', site]); } catch (e) { }
                document.getElementById("ResultButtons" + index).innerHTML = '<div title="'+voteSimilar+'" class="t-u-s">&nbsp;</div><span style="float:left;display:block;padding-left:5px;line-height:22px;">'+voteCompleteText+'</span>';
            }
        }
    }
    xmlHttp.open("GET",link+"?pos="+index,true);
    xmlHttp.send(null);
}

function SuggestNewSite(siteInput , captchaInput , captchaImg , errMsgElement , successMsgElement  )
{
    var xmlHttp = getAjax();
    var params = "newSite=" + document.getElementById(siteInput).value + "&newSiteCaptcha=" + document.getElementById(captchaInput).value;

    xmlHttp.onreadystatechange=function()
    {
        if(xmlHttp.readyState==4)
        {
            if (xmlHttp.status == 200)
            {
                FinishSuggest(siteInput , captchaInput , captchaImg , errMsgElement , successMsgElement );
            } else if (xmlHttp.status == 401)
            {
                WrongCaptcha(captchaInput,errMsgElement,captchaImg);
            }
        }
    }
    
    xmlHttp.open("POST","/suggest",true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", params.length);
    xmlHttp.setRequestHeader("Connection", "close");
    
    xmlHttp.send(params);
}

function SubmitContactUs(captchaInput , captchaImg , errMsgElement)
{
     var xmlHttp = getAjax();
     var name = document.getElementById("txtName").value;
     var email = document.getElementById("txtEmail").value;
     var subject = document.getElementById("txtSubject").value;
     var message = document.getElementById("txtMessage").value;
     var captcha = document.getElementById("newSiteCaptcha").value;
     var params = "name="+name+"&email="+email+"&subject="+subject+"&message="+message+"&captcha="+captcha;
     
      xmlHttp.onreadystatechange=function()
        {
            if(xmlHttp.readyState==4)
            {
                if (xmlHttp.status == 200)
                {
                    FinishedSubmitContactUs();
                } else if (xmlHttp.status == 401)
                {
                    WrongCaptcha(captchaInput,errMsgElement,captchaImg);
                }
            }
        }
    
    xmlHttp.open("POST","/contactus",true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", params.length);
    xmlHttp.setRequestHeader("Connection", "close");
    
    xmlHttp.send(params);
     
}

function FinishedSubmitContactUs()
{
    document.getElementById("contactForm").style.display = "none";
    document.getElementById("contactThankYou").style.display = "block";
}

function RefreshCaptcha(captchaImg)
{
    var s=document.getElementById(captchaImg).src;
    var temp = new Array();
    temp = s.split('/');
    var index = temp[temp.length-2];
    var num = parseInt(index);
    num=num+1;
    document.getElementById(captchaImg).src = "/images/" + num + "/captcha.gif";
}

function WrongCaptcha(captchaInput,errMsgElement,captchaImg)
{
    RefreshCaptcha(captchaImg);
    document.getElementById(captchaInput).value = "";
    
    document.getElementById(captchaInput).style.border = "1px solid red";
    document.getElementById(errMsgElement).style.display = "block";
}

function FinishSuggest(siteInput, captchaInput, captchaImg, errMsgElement, successMsgElement) 
{
    try {
        var suggestedSite = document.getElementById(siteInput).value;
        var suggestPlace = 'BottomSuggest';

        if (siteInput == 'newSiteRP') {
            suggestPlace = 'SideSuggest';
        }

        _gaq.push(['_trackEvent', 'Suggest', suggestPlace, suggestedSite]); 
    } catch (e) { }
    
    document.getElementById(successMsgElement).style.display = "inline";
    setTimeout("NewSuggest('"+siteInput +"','"+ captchaInput +"','"+ captchaImg +"','"+ errMsgElement+"','"+successMsgElement+"')",3000);
}

function NewSuggest(siteInput , captchaInput , captchaImg , errMsgElement , successMsgElement)
{
    document.getElementById(successMsgElement).style.display = "none";
    RefreshCaptcha(captchaImg);
    document.getElementById(captchaInput).style.border = "1px solid #B1BBC7";
    document.getElementById(errMsgElement).style.display = "none";
    document.getElementById(captchaInput).value = "";
    document.getElementById(siteInput).value = "";
    $("#SuggestSiteBox").hide(200);
}

function ShowSearchProviderNote()
{
 if (window.external && ("AddSearchProvider" in window.external)) {
    if (!Get_Cookie('SearchProviderNote'))
    {
        document.getElementById("SearchProviderNote").style.display = "block";
    }
 }
}

function AddSearchProvider()
{
 if (window.external && ("AddSearchProvider" in window.external)) {
   // Firefox 2 and IE 7, OpenSearch
   window.external.AddSearchProvider("http://www.similarsites.com/SimilarSitesSearchProvider.xml");
 } else {
   // No search engine support (IE 6, Opera, etc).
 }
    DontShowNote();
}

function DontShowNote()
{
    document.getElementById("SearchProviderNote").style.display = "none";
    
    Set_Cookie( 'SearchProviderNote', 'removed', 365, '/', '', '' );
}

function Set_Cookie( name, value, expires, path, domain, secure )
{
// set time, it's in milliseconds
var today = new Date();
today.setTime( today.getTime() );

/*
if the expires variable is set, make the correct
expires time, the current script below will set
it for x number of days, to make it for hours,
delete * 24, for minutes, delete * 60 * 24
*/
if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );

document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
( ( path ) ? ";path=" + path : "" ) +
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );
}
	
// this fixes an issue with the old method, ambiguous values
// with this test document.cookie.indexOf( name + "=" );
function Get_Cookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f

	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );


		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}

function HPQuickSearchInit()
{
    var changeBox = document.getElementById('PS');
    if (changeBox != null)
    {
        var myItems = changeBox.getElementsByTagName('li');

        for (var i=0;i<myItems.length;i++) 
        {
	        myItems[i].onmouseover = function(){this.className = 'siteWrapper siteWrapperHover';};
	        myItems[i].onmouseout = function(){this.className = 'siteWrapper';};
        }
    }            
}

function VoteChangeInit()
{
    var changeBox = document.getElementById('VoteChangeBox');

    if (changeBox != null)
    {
        var myItems = changeBox.getElementsByTagName('li');

        for (var i=0;i<myItems.length;i++) 
        {
            if (myItems[i].id != 'VoteChangeTitle')
            {
	            myItems[i].onmouseover = VoteItem_MouseOver;
	            myItems[i].onmouseout = VoteItem_MouseOut;
            }
        }
    }
}
function VoteItem_MouseOver()
{
    this.className = 'VoteItem VoteItemHover';
}

function VoteItem_MouseOut()
{
    this.className = 'VoteItem';
}

function showAddSite()
{
     var tab = $(".tab.selected");
     var stayOpen = false;
     
     if(tab.length > 0)
     {
        if(tab.attr("id") != "tabSimilarsites")
        {
            tabClick(document.getElementById("tabSimilarsites"));
            stayOpen = true;
        }
     }
     
    if(document.getElementById('SuggestSiteBox').style.display == "none")
    {
        $("#SuggestSiteBox").show(200);
    }
    else
    {
        if(!stayOpen)
        {
            $("#SuggestSiteBox").hide(200);
        }
    }    
}

function tabClick(element)
{
        
    $(".tab.selected").removeClass('selected');    
    
    $(element).addClass('selected');
    jumpToAnchor(element.id.replace("tab","") + "Content",500);
   
    _gaq.push(['_trackEvent', 'TabView', element.id.replace("tab","")]); 
      
}

function displayLanguageMenu(status)
{
    
    if(status == "show")
    {
        document.getElementById('hiddenLang').style.display = "block";
        //$("#hiddenLang").fadeIn(500);
    } 
    else
    {
        document.getElementById('hiddenLang').style.display = "none";
        //$("#hiddenLang").fadeOut(500);
    }
}

function selectLanguage(lang)
{
    try{
           
        Set_Cookie("Prefferd-Language",lang,120,"/","similarsites.com");
       if(location.host.indexOf(".dev") != -1)
       {
            Set_Cookie("Prefferd-Language",lang,120,"/","similarsites.dev");
       }  
          
        var newurl;
        if(lang == "en")
        {
            lang = "www";
        }
        try{
            if(isStaticPage())
            {
                //Check if we on adult site
                var isAdult = false;
                try{
                        isAdult = window.location.hostname.indexOf('adult') != -1;
                   }catch(e){}
               
                if(isAdult)
                {
                    newurl = document.location.toString().substring(0,document.location.toString().indexOf('?')) + "?lang="+lang;
                }
                else
                {
                    newurl = getUrlWithNoSubDomain();
                    newurl = "http://"+lang+getUrlWithNoSubDomain();
                }
            }
            else
            {
                newurl = document.location.toString().substring(0,document.location.toString().indexOf('?')) + "?lang="+lang;
            }
            document.location.href = newurl;
        }catch(e){return;}

    }catch(e){}
}

function getUrlWithNoSubDomain()
{
   return document.location.toString().substring(document.location.toString().indexOf('.'));
}


function GenerateLanguageMenu(langs)
{
    var lang;
    
    try{
        if(isStaticPage())
        {
            var isAdult = false;
            try{
                    isAdult = window.location.hostname.indexOf('adult') != -1;
               }catch(e){}
           
            if(isAdult)
            {
                lang = getLanguageFromCookie();
            }
            else
            {
                 lang = getLanguageFromHost();
            }
        }
        else
        {
             lang = Get_Cookie("Prefferd-Language");
             if(lang == null)
             {
                lang = getLanguageFromHost();  
             }
        }
    }catch(e){lang = "en";}
    
    var arr = langs.split(',');
    
    var flag = false;
    for(a=0;a<arr.length;a++)
    {
        if(arr[a] == lang)
        {
            flag = true;
        }
    }
    
    if(flag == false)
    {
        lang = arr[0];
    }
        
    var s ="<div class='langContainer'>";
    
    s+="<div id='"+lang+"' class='langFirstItem' style='background:url(&quot;/images/"+lang+".png&quot;) no-repeat;'><div class='langText'>"+lang.toUpperCase() +"<img src='/images/dda.png' alt=''/></div></div>";
    s+="<div id='hiddenLang'>";
      for(var i=0; i<arr.length;i++)
      {
        if(arr[i] != lang)
        {
             s+="<div class='langItemContainer' onmouseover='this.style.backgroundColor = &quot;#DAE5F3&quot;;' onmouseout='this.style.backgroundColor = &quot;#ffffff&quot;;'>"
             s+="<div id='"+arr[i]+"' class='langItem' style='background:url(&quot;/images/"+arr[i]+".png&quot;) no-repeat;' onclick='selectLanguage(this.id);'><div class='langText'>"+arr[i].toUpperCase() +"</div></div>";
             s+="</div>"
        }
      }
    s+="</div>";

  
    s += "</div>";
    document.getElementById('langMenu').innerHTML = s;
        
}

function getLanguageFromHost()
{
    try{
         var url = window.location.toString().replace('http://','');
         lang = url.substring(0,url.indexOf('.'));
                
         if(lang == "www")
         {
             lang = "en";
         }
         return lang;
     }catch(e){return "en";}
}

function getLanguageFromCookie()
{
    try{
        
        lang = Get_Cookie("Prefferd-Language");
        
         if(lang == null)
         {
            lang = "en";  
         }    

         return lang;
     }catch(e){return "en";}
}

function isStaticPage()
{
    if((window.location.toString().indexOf("/site/") != -1) 
        ||(window.location.toString().indexOf("/sites/") != -1)
        ||(window.location.toString().indexOf("/top/") != -1))
    {
        return false;
    }
    else
    {
        return true;
    }
}

function getParam(paramName){
    try {
        // get the current URL
        var url = window.location.toString();
        //get the parameters
        url.match(/\?(.+)$/);
        var params = RegExp.$1;
        // split up the query string and store in an
        // associative array
        var params = params.split("&");
        var queryStringList = {};
        
        for (var i = 0; i < params.length; i++) {
            var tmp = params[i].split("=");
            queryStringList[tmp[0]] = tmp[1];
        }
        
        // print all querystring in key value pairs
        for (var i in queryStringList) {
            if (i == paramName) {
                return queryStringList[i];
            }
        }
    } 
    catch (e) {
    }
    
    return "";
}


function getSiteRating(num)
{
    var html="";
    for(var i=0;i<num;i++)
    {
        html+= '<div class="Star Shine" style="cursor:pointer;"></div>';
    }
    
    for(;i<5;i++)
    {
         html+= '<div class="Star" style="cursor:pointer;"></div>';
    }
    
     return html;                       
}

function bindRatingAction()
{
    var ratingElements = $("div.RatingStars");
    
    if(ratingElements.length == 0)
        return;
    
   ratingElements.each(function(index)
   {
        var rank = $(this).find('.Star.Shine').length;
        var me = $(this);
        var staticText = me.find(".RatingDetails").html();
        me.find('.Star').mouseover(function()
                {
                    if(!($(this).parent().parent().hasClass('Rated')))
                    {
                         $(this).addClass('Shine');
                         $(this).nextAll(".Star").removeClass('Shine');
                         $(this).prevAll(".Star").addClass('Shine');
                         $(this).parent().next().find(".RatingDetails").html(RatingHelper[$(this).index()]);
                    }
                });
        me.find('.Star').click(function(){
                if(!($(this).parent().parent().hasClass('Rated')))
                {                                                         
                    $(this).parent().parent().find('.Star').css('cursor','default');    
                    $(this).parent().parent().addClass('Rated');  
                    
                    $(this).parent().parent().find('.NoRating').hide();
                    $(this).parent().parent().find('.HasRating').hide();
                    $(this).parent().parent().find('.RateThisMessage').html(tanksForRating).fadeIn(300);

                    var ranked =  ($(this).prevAll(".Star").size()) + 1;
                                                                                   //trim
                    var site = $(this).parent().parent().find('.RatedSite').text().replace(/^\s+|\s+$/g, '');
                    PostRank(ranked,site);
                }});
        me.mouseout(function(){
            if(!($(this).hasClass('Rated')))
            {
                var stars = $(this).find('.Star');
                stars.removeClass('Shine');
                for(var i=0;i<rank;i++)
                {
                    stars[i].className = 'Star Shine';
                } 
                $(this).find(".RatingDetails").html(staticText);
            }
        });
   });
}

function CheckTopsiteInLink()
{
    var currentUrl =  document.location.toString();
    var queryString = currentUrl.substr(currentUrl.indexOf('?') + 1);
    
    if(queryString)
    {
        if(queryString.charAt(0) == '#')
        {
             if(queryString.startsWith('#topsite'))
             {
                tabClick(document.getElementById('tabTopsite'));
             }
             else if(queryString.indexOf('#topsite') != -1)
             {
                tabClick(document.getElementById('tabTopsite'));
                window.location.hash = queryString;
             }
        }
    }
    
}

function showModal(title,parentID)
{
    var html = "<div class='Mask'><div class='MaskTitle'>" + title +"</div>";
    
    if(($('#' + parentID).find('.Mask')).length > 0)
    {
        $('#' + parentID).find('.Mask').fadeIn(300);
        setTimeout(function(){ $('#' + parentID).find('.Mask').fadeOut(300);},3000);
    }
    else
    {
        $('#' + parentID).append(html);
        $('#' + parentID).find('.Mask').fadeIn(300);
        setTimeout(function(){ $('#' + parentID).find('.Mask').fadeOut(300);},3000);
    }
    
}

function trackSimilarWeb(linkElement)
{
    var param = getParam("ref");
    
    if(param != "")
    {
        document.getElementById(linkElement).href = document.getElementById(linkElement).href + window.location.search;
        return;
    }
    
    param = getParam("subid");
    
    if(param != "")
    {
        document.getElementById(linkElement).href = document.getElementById(linkElement).href + window.location.search;
        return;
    }
    
}

window.fbAsyncInit = function() {
    FB.init({appId: '162337630477555', status: true, cookie: true, xfbml: true,oauth: true});  
    FB.getLoginStatus(function(response) {
      if (response.authResponse) {
           fbLoggedIn = true;
           FB.api('/me', function(response) {
                $("#facebook_user_name").html(response.name);
               });
      } else {
            fbLoggedIn = false;
      }
    });
    FB.Event.subscribe('auth.authResponseChange', function(response) {
          if(response.status == "connected")
          {
             fbLoggedIn = true;
             FB.api('/me', function(response) {
                $("#facebook_user_name").html(response.name);
               });
             $(".err_fb_message").hide();
          }
          else
          {
            fbLoggedIn = false;
          }  
        });   
}

function check_ref_channel()
{
    try{
        var ref = getParam("ref");
         ref_channel_1="";
         ref_channel_2="";
         ref_channel_3="";
         ref_channel_ss_ts_1 ="";
         ref_channel_ss_ts_2 ="";
        
        if((ref != undefined) && (ref != ""))
        { 
            if(ref.startsWith("0641"))
            {
                ref_channel_1="4670371737";
                ref_channel_2="5392579246";
                ref_channel_3="8891778551";
                ref_channel_ss_ts_1 ="";
                ref_channel_ss_ts_2 ="";
            }
            else if(ref.startsWith("0637"))
            {
                ref_channel_1="9660417804";
                ref_channel_2="0866639367";
                ref_channel_3="3964616955";
                ref_channel_ss_ts_1 ="";
                ref_channel_ss_ts_2 ="";
            }
            else if(ref.startsWith("0645"))
            {
                ref_channel_1="5490451569";
                ref_channel_2="4825642809";
                ref_channel_3="6450573898";
                ref_channel_ss_ts_1 ="";
                ref_channel_ss_ts_2 ="";
            }
            else if(ref.startsWith("0705"))
            {
                ref_channel_1="5817216924";
                ref_channel_2="5817216924";
                ref_channel_3="5817216924";
                ref_channel_ss_ts_1 ="5817216924";
                ref_channel_ss_ts_2 ="5817216924";
            }
            else if(ref.startsWith("0707"))
            {
                ref_channel_1="4108036029";
                ref_channel_2="4108036029";
                ref_channel_3="4108036029";
            }
             else if(ref.startsWith("0708"))
            {
                ref_channel_1="9593432331";
                ref_channel_2="9593432331";
                ref_channel_3="9593432331";
            }
             else if(ref.startsWith("0709"))
            {
                ref_channel_1="0075321090";
                ref_channel_2="0075321090";
                ref_channel_3="0075321090";
            }
             else if(ref.startsWith("0710"))
            {
                ref_channel_1="3520516017";
                ref_channel_2="3520516017";
                ref_channel_3="3520516017";
            }
             else if(ref.startsWith("0711"))
            {
                ref_channel_1="3375607274";
                ref_channel_2="3375607274";
                ref_channel_3="3375607274";
            }
             else if(ref.startsWith("0712"))
            {
                ref_channel_1="7284045898";
                ref_channel_2="7284045898";
                ref_channel_3="7284045898";
            }
             else if(ref.startsWith("0713"))
            {
                ref_channel_1="3090722240";
                ref_channel_2="3090722240";
                ref_channel_3="3090722240";
            }
             else if(ref.startsWith("0714"))
            {
                ref_channel_1="3154882071";
                ref_channel_2="3154882071";
                ref_channel_3="3154882071";
            }
             else if(ref.startsWith("0715"))
            {
                ref_channel_1="0854417153";
                ref_channel_2="0854417153";
                ref_channel_3="0854417153";
            }
             else if(ref.startsWith("0716"))
            {
                ref_channel_1="4126511664";
                ref_channel_2="4126511664";
                ref_channel_3="4126511664";
            }
             else if(ref.startsWith("0717"))
            {
                ref_channel_1="5023815517";
                ref_channel_2="5023815517";
                ref_channel_3="5023815517";
            }
              else if(ref.startsWith("0718"))
            {
                ref_channel_1="6418020253";
                ref_channel_2="6418020253";
                ref_channel_3="6418020253";
            }
              else if(ref.startsWith("0719"))
            {
                ref_channel_1="6358447965";
                ref_channel_2="6358447965";
                ref_channel_3="6358447965";
            }
              else if(ref.startsWith("0720"))
            {
                ref_channel_1="7687880658";
                ref_channel_2="7687880658";
                ref_channel_3="7687880658";
            }
              else if(ref.startsWith("0721"))
            {
                ref_channel_1="3159207066";
                ref_channel_2="3159207066";
                ref_channel_3="3159207066";
            }
              else if(ref.startsWith("0722"))
            {
                ref_channel_1="3887047785";
                ref_channel_2="3887047785";
                ref_channel_3="3887047785";
            }
              else if(ref.startsWith("0723"))
            {
                ref_channel_1="1204646571";
                ref_channel_2="1204646571";
                ref_channel_3="1204646571";
            }
               else if(ref.startsWith("0724"))
            {
                ref_channel_1="3183634533";
                ref_channel_2="3183634533";
                ref_channel_3="3183634533";
            }
               else if(ref.startsWith("0725"))
            {
                ref_channel_1="3275043257";
                ref_channel_2="3275043257";
                ref_channel_3="3275043257";
            }
               else if(ref.startsWith("0730"))
            {
                ref_channel_1="7047955984";
                ref_channel_2="7047955984";
                ref_channel_3="7047955984";
            }
                else if(ref.startsWith("0731"))
            {
                ref_channel_1="5678944039";
                ref_channel_2="5678944039";
                ref_channel_3="5678944039";
            }
                else if(ref.startsWith("0732"))
            {
                ref_channel_1="3850134445";
                ref_channel_2="3850134445";
                ref_channel_3="3850134445";
            }
                else if(ref.startsWith("0733"))
            {
                ref_channel_1="7036179434";
                ref_channel_2="7036179434";
                ref_channel_3="7036179434";
            }
                else if(ref.startsWith("0734"))
            {
                ref_channel_1="2239267352";
                ref_channel_2="2239267352";
                ref_channel_3="2239267352";
            }
                else if(ref.startsWith("0735"))
            {
                ref_channel_1="0917301150";
                ref_channel_2="0917301150";
                ref_channel_3="0917301150";
            }
                else if(ref.startsWith("0736"))
            {
                ref_channel_1="1538266595";
                ref_channel_2="1538266595";
                ref_channel_3="1538266595";
            }
                else if(ref.startsWith("0737"))
            {
                ref_channel_1="3677550369";
                ref_channel_2="3677550369";
                ref_channel_3="3677550369";
            }
                else if(ref.startsWith("0738"))
            {
                ref_channel_1="5071441794";
                ref_channel_2="5071441794";
                ref_channel_3="5071441794";
            }
                else if(ref.startsWith("0739"))
            {
                ref_channel_1="6619943414";
                ref_channel_2="6619943414";
                ref_channel_3="6619943414";
            }
                else if(ref.startsWith("0740"))
            {
                ref_channel_1="3845943654";
                ref_channel_2="3845943654";
                ref_channel_3="3845943654";
            }
                else if(ref.startsWith("0750"))
            {
                ref_channel_1="5614154179";
                ref_channel_2="5614154179";
                ref_channel_3="5614154179";
            }
                else if(ref.startsWith("0751"))
            {
                ref_channel_1="9022389399";
                ref_channel_2="9022389399";
                ref_channel_3="9022389399";
            }
                 else if(ref.startsWith("0800"))
            {
                ref_channel_1="4797068044";
                ref_channel_2="4797068044";
                ref_channel_3="4797068044";
            }
                 else if(ref.startsWith("0801"))
            {
                ref_channel_1="0430783368";
                ref_channel_2="0430783368";
                ref_channel_3="0430783368";
            }
            else if(ref.startsWith("0802"))
            {
                ref_channel_1="3621655396";
                ref_channel_2="3621655396";
                ref_channel_3="3621655396";
            }
            else if(ref.startsWith("0803"))
            {
                ref_channel_1="3102768026";
                ref_channel_2="3102768026";
                ref_channel_3="3102768026";
            }
            else if(ref.startsWith("0804"))
            {
                ref_channel_1="4280014341";
                ref_channel_2="4280014341";
                ref_channel_3="4280014341";
            }
            else if(ref.startsWith("0805"))
            {
                ref_channel_1="1658772671";
                ref_channel_2="1658772671";
                ref_channel_3="1658772671";
            }
              else if(ref.startsWith("0900"))
            {
                ref_channel_1="0827131588";
                ref_channel_2="0827131588";
                ref_channel_3="0827131588";
            }
              else if(ref.startsWith("0901"))
            {
                ref_channel_1="2982555904";
                ref_channel_2="2982555904";
                ref_channel_3="2982555904";
            }
        }
       
        
    }catch(e){ref_channel="";}
}

function SiteResultMouseOver(siteResult)
{
    $(siteResult).addClass("SiteResultHover");
    $(siteResult).find("div.SiteResultLeft").addClass("SiteResultLeftHover");
    $(siteResult).find("div.SiteResultTopics span").addClass("topicItem");
    $(siteResult).find("div.Votes").css('visibility','visible');
}

function SiteResultMouseOut(siteResult)
{
    $(siteResult).removeClass("SiteResultHover");
    $(siteResult).find("div.SiteResultLeft").removeClass("SiteResultLeftHover");
    $(siteResult).find("div.SiteResultTopics span").removeClass("topicItem");
    $(siteResult).find("div.Votes").css('visibility','hidden');
}

function TopSiteResultMouseOver(siteResult)
{
    $(siteResult).addClass("SiteResultHover");
    $(siteResult).find("div.ResultNumber").addClass("SiteResultLeftHover");
}

function TopSiteResultMouseOut(siteResult)
{
    $(siteResult).removeClass("SiteResultHover");
    $(siteResult).find("div.ResultNumber").removeClass("SiteResultLeftHover");
}

String.prototype.startsWith = function(str) 
{return (this.match("^"+str)==str)}


function bindtooltip(element)
{
    if($(element).find(".tooltip-enabled").length > 0)
    {
        $(element).find(".tooltip-enabled").tipTip({maxWidth: "auto", edgeOffset: 15, fadeIn : 0 , fadeOut : 0 , delay : 0}); 
        $(element).find(".tooltip-enabled").removeClass("tooltip-enabled");
    }    
}

function input_init(first)
{
    var textBox = document.getElementById('searchURL');
    if (textBox)
    {
		textBox.value = document.getElementById("example_text").value;
		textBox.className = 'searchURL example';
	    
		if (first)
		{
			textBox.onfocus = input_onfocus;
			textBox.onblur = input_onblur;
			textBox.onkeypress = input_onkeypress;
		}
    }
}

function input_onfocus()
{
	
        var textBox = document.getElementById('searchURL');
        if (textBox.value == document.getElementById("example_text").value)
        {
            textBox.value = '';
        }
        textBox.className = 'searchURL';
 
}
function input_onkeypress()
{
    tbLoad = false;
    input_onfocus();
}

function input_onblur()
{
    tbLoad = false;

    var textBox = document.getElementById('searchURL');
    if (textBox.value == '')
    {
        input_init();
    }
}

(function saveRef(){
  try{
        var ref = getParam("ref");
        if(ref.length>0)
        {
          var hostname = location.host.replace("www.","");
          ref= ref.substring(0,4);
          Set_Cookie("ref",ref,120,"/",hostname);
        }
     }catch(e){}
})();

function createTable(columnsnames, columnscaptions, columnstypes, columnsdata, tablesettings)
{
       var data = new google.visualization.DataTable();
       
       for(colIndex=0;colIndex<columnsnames.length;colIndex++)
       {
           data.addColumn(columnstypes[colIndex], columnscaptions[colIndex]);
       }        
        data.addRows(columnsdata.length);
 
        for(i=0;i<columnsdata.length;i++)
        {
             for(colIndex=0;colIndex<columnsnames.length;colIndex++)
               {
                  var colData = columnsdata[i][columnsnames[colIndex]];
                  if(columnstypes[colIndex] == "date")
                  {
                        colData = new Date(colData);
                  }
                  data.setCell(i, colIndex, colData);
               }
        }
        return data;
}

function createGraphView(tableData,tableSettings)
{
    var dataView1 = new google.visualization.DataView(tableData);
    dataView1.setColumns(tableSettings.graph.columns);
    return dataView1;
}

function drawGraph(graphView ,tableGraphContainerID , tableSettings)
{
    var backgroundColor =document.getElementById("MainContainer").style.backgroundColor;
       switch(tableSettings.graph.type)
       {
            case "line":
                 var chart = new google.visualization.LineChart(document.getElementById(tableGraphContainerID));
                 chart.draw(graphView,{width: tableSettings.graph.width,height: tableSettings.graph.height,backgroundColor:"#FAFAFA"}); 
            break;
            case "pie":
                 var chart = new google.visualization.PieChart(document.getElementById(tableGraphContainerID));
                 chart.draw(graphView,{width: tableSettings.graph.width,height: tableSettings.graph.height,is3D:tableSettings.graph.is3D,"chartArea":{left:0,top:42,width:"100%",height:"100%"},backgroundColor:"#FAFAFA"}); 
            break;
              case "geo":
                 var chart = new google.visualization.GeoChart(document.getElementById(tableGraphContainerID));
                 chart.draw(graphView,{width: tableSettings.graph.width,height: tableSettings.graph.height,backgroundColor:"#FAFAFA"}); 
            break;
            default:
                 var chart = new google.visualization.LineChart(document.getElementById(tableGraphContainerID));
                 chart.draw(graphView,{width: tableSettings.graph.width,height: tableSettings.graph.height,backgroundColor:"#FAFAFA"});
            break;       
       }
}

function jumpToAnchor(aName , speed)
{
    $('html, body').animate({
        scrollTop: $("#" + aName).offset().top - 50},{ duration: 'slow', easing: 'swing'}, speed);
}
