﻿function generateGuid()
{

    var result, i, j;
    result = '';
    for(j=0; j<32; j++)
    {
    if( j == 8 || j == 12|| j == 16|| j == 20)
    result = result + '-';
    i = Math.floor(Math.random()*16).toString(16).toUpperCase();
    result = result + i;
    }
    return result;

}
 
function readCookie(name) 
{
	       
	        var nameEQ = name + "=";
	        var ca = document.cookie.split(';');
	        
	        for(var i=0;i < ca.length;i++) 
	        {
		       
		        var c = ca[i];
		        while (c.charAt(0)==' ') c = c.substring(1,c.length);
		        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		        
	        }
	        return null;
}
   
function UserParameters()
{
     
    this.ClientID = "";
    this.SessionID = "";
    this.Sup_Company_Type = new Array();
    this.Company_Type = new Array();
    this.Company_Name = new Array();           
    this.ReffererURL = "";
    this.RequestPage = "";
    this.UserAgent = "";
    this.Is_direct_URL = false;
    this.SessionID = "";   
    this.generatedURL = generatedURL;
               
}
    
function MakeUrlParam(name)
{
 
   return "'" + name + "'";
 
}
    
function generatedURL()
{
            
     var result =  'https://securestat.avs4you.com/Handler.ashx?';
  
     var count = this.Sup_Company_Type.length;
     
     for(var i=0;i < count;i++) 
     {
     
        result += 'sct' + i + '=' + this.Sup_Company_Type.pop() + "&";
        result += 'ct' + i + '=' + this.Company_Type.pop() + "&";
        result += 'cn' + i + '=' + this.Company_Name.pop() + "&";  
     }
             
     result += 'session_id=' + this.SessionID + "&";
     result += 'clientid=' + this.ClientID + "&";        
     result += 'is_direct_url=' + this.Is_direct_URL + "&";
     result += 'RequestPage=' + MakeUrlParam(encodeURI(this.RequestPage));
         
     return  result; 

}


function prepareDate(Session_ID,isPurchased)  
{
 
   var params = new UserParameters();

    params.SessionID = Session_ID;

    if (isPurchased)
    {
    
 	params.ClientID = generateGuid();
       params.RequestPage =  'http://www.avs4you.com/purchased.aspx';
    
    }
    else
    {

     var Site_Tracing_cookie = readCookie("Site_Tracing");   
   
    if ((Site_Tracing_cookie == null) || (Site_Tracing_cookie.length < 2))  return "";
    
    
    var values = Site_Tracing_cookie.split('&');
    
    var item = values[0];
    
    params.ClientID = item.substring("clientid".length+1,item.length);
        

    
        for(var i=1;i < values.length;i++) 
        {
        
           item = values[i];

	   if (item.length < 4) continue;
            
           var sup_item = item.split('=')[1].split(':');
       
           params.Sup_Company_Type.push(item.split('=')[0]);
           params.Company_Type.push(sup_item[0]);
           params.Company_Name.push(sup_item[1]);      
                    
        } 
        
        if ((location.href.lastIndexOf(".aspx") == -1) && (location.href.lastIndexOf("avs4you") != -1))
        {
        
            if (location.href.lastIndexOf("/") != -1)
              params.RequestPage =  location.href + "index.aspx"; 
            else  
              params.RequestPage =  location.href + "/index.aspx";    
        
        }
        else
        {
        
             params.RequestPage = location.href;  
        
        }
          
    
    }
    

    params.ReffererURL = document.referrer;
   
    params.UserAgent = navigator.userAgent;	 
	 	     
    if (((location.href.indexOf("sct") != -1 ) && (location.href.indexOf("ct")!= -1 ) && (location.href.indexOf("cid")!= -1)) ||
 	     ((location.href.indexOf("utm_campaign") != -1 ) && (location.href.indexOf("utm_medium")!= -1 ) && (location.href.indexOf("utm_source")!= -1)))
 	{
 	     
 	      params.Is_direct_URL = true; 
 	           	          	      
 	}  
 		
 	return params;
}  

    
function generatedScript(Session_ID,isPurchased)
{      
  
    try
    {
      
    
      if ((Session_ID == null) || (Session_ID == ""))
       Session_ID = generatedSession();
      	      
      return "<script language='javascript' src=" + '"' + prepareDate(Session_ID,isPurchased).generatedURL() + '"' + " type='text/javascript'></script>";	
    
    }
    catch(err)
    {

    }


}

function generatedQuery(Session_ID)
{

    return prepareDate(Session_ID).generatedURL();

}

function generatedSession()
{

    var result, i, j;
    
    result = '';
    
    for(j=0; j<24; j++)
    {
              
        i = Math.floor(Math.random()*16).toString(16).toLowerCase();
        result = result + i;
    
    }
    
    return result;

}



