function insertVisitorData(params){
	var doc=document;
	var destination = "http"+(doc.URL.indexOf('https:')==0?'s':'')+"://www.rankinspector.com/ri/conversion%20tracker/ct_db_handling.php?1=1"+params;    
	var image = new Image();
	image.src=destination;
}

 
function setCookie(name, value, expires, path, domain, secure){
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime(today.getTime());
	
	
	if (expires)expires = expires * 1000 * 60 ;

	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 getCookie(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 deleteCookie(name) {
	document.cookie = name +'=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
} 

function putVisitiorData(aId, dId, dDescription){
	var account_id = aId;
	var domain_id  = dId;
	var domain	   = dDescription;
	//voor andere functie
		
	var referrer = (parent == self) ? document.referrer : top.document.referrer;
	var ref_tmp  = referrer;
	
	if (referrer.indexOf('.google.') > -1){
		if (matchReg(referrer)==true){			
			//Adwords
			var keyword;
			try{
				keyword = referrer.split("&q=")[1].split("&")[0];
			}catch(err){
				keyword = referrer.split("?q=")[1].split("&")[0];
			}
			
			var xy = navigator.appVersion;
			xz = xy.substring(0,4);
			
			var user_agent  = navigator.userAgent;	
			var platform    = navigator.platform;
			var resolution  = screen.width+"x"+screen.height;
			
			insertVisitorData("&account_id="+account_id+"&domain_id="+domain_id+"&user_agent="+user_agent+"&resolution="+resolution+"&keyword="+keyword+"[adwords]&searchengine_id=1&referrer="+escape(ref_tmp));
		}else{
			var keyword = referrer.split("&q=")[1].split("&")[0];
			
			var xy = navigator.appVersion;
			xz = xy.substring(0,4);
			
			var user_agent  = navigator.userAgent;	
			var platform    = navigator.platform;
			var resolution  = screen.width+"x"+screen.height;
						
			insertVisitorData("&account_id="+account_id+"&domain_id="+domain_id+"&user_agent="+user_agent+"&resolution="+resolution+"&keyword="+keyword+"&searchengine_id=1&referrer="+escape(ref_tmp));
			//insertVisitorData({'account_id':account_id, 'domain_id':domain_id,'user_agent':user_agent,'resolution':resolution,'keyword':keyword,'searchengine_id':1,'referrer':+escape(ref_tmp)});			
		}
	}
	else if (referrer.indexOf('.yahoo.') > -1){
			var keyword = referrer.split("p=")[1].split("&")[0];
						
			var xy = navigator.appVersion;
			xz = xy.substring(0,4);
			
			var user_agent  = navigator.userAgent;	
			var platform    = navigator.platform;
			var resolution  = screen.width+"x"+screen.height;									
			
			insertVisitorData("&account_id="+account_id+"&domain_id="+domain_id+"&user_agent="+user_agent+"&resolution="+resolution+"&keyword="+keyword+"&searchengine_id=5&referrer="+escape(ref_tmp));			
	}
	else if (referrer.indexOf('.live.') > -1){							
			var keyword = referrer.split("q=")[1].split("&")[0];
						
			var xy = navigator.appVersion;
			xz = xy.substring(0,4);
			
			var user_agent  = navigator.userAgent;	
			var platform    = navigator.platform;
			var resolution  = screen.width+"x"+screen.height;									
			
			insertVisitorData("&account_id="+account_id+"&domain_id="+domain_id+"&user_agent="+user_agent+"&resolution="+resolution+"&keyword="+keyword+"&searchengine_id=2&referrer="+escape(ref_tmp));			
	}else if (referrer.indexOf('.bing.') > -1){							
			var keyword = referrer.split("q=")[1].split("&")[0];
						
			var xy = navigator.appVersion;
			xz = xy.substring(0,4);
			
			var user_agent  = navigator.userAgent;	
			var platform    = navigator.platform;
			var resolution  = screen.width+"x"+screen.height;									
			
			insertVisitorData("&account_id="+account_id+"&domain_id="+domain_id+"&user_agent="+user_agent+"&resolution="+resolution+"&keyword="+keyword+"&searchengine_id=6&referrer="+escape(ref_tmp));			
	}
	
	else{
		//if(referrer.substring(0,domain.length) == domain){
		if(isExcluded(new Array(domain))){
			//do nothing for now
		}else{
			//Visitor is not directed from one of the tracked searchengines nor an internal link
			var keyword = "undefined";
						
			var xy = navigator.appVersion;
			xz = xy.substring(0,4);
				
			var user_agent  = navigator.userAgent;	
			var platform    = navigator.platform;
			var resolution  = screen.width+"x"+screen.height;									
			
			insertVisitorData("&account_id="+account_id+"&domain_id="+domain_id+"&user_agent="+user_agent+"&resolution="+resolution+"&keyword="+keyword+"&searchengine_id=0&referrer="+escape(ref_tmp));			
		}
	}
}


function putConversion(aId, dId, conversionTypeId, conversionLabel, conversionValue, customerOrderId, currency){	
		var conversion_type_id = conversionTypeId;	
		var conversion_value   = conversionValue;//trial
		var conversion_label   = conversionLabel;//trial
		var customer_order_id  = (customerOrderId)?customerOrderId:"";//optional
		var account_id 		   = aId;
		var domain_id  		   = dId;
		var cur		  		   = (currency)?currency:"EUR";								
					
		var xy = navigator.appVersion;
		xz = xy.substring(0,4);
				
		var user_agent  = navigator.userAgent;	
		var platform    = navigator.platform;
		var resolution  = screen.width+"x"+screen.height;									
		
		var referrer = (parent == self) ? document.referrer : top.document.referrer;
		
		insertVisitorData("&account_id="+account_id+"&domain_id="+domain_id+"&conversion_type_id="+conversion_type_id+"&customer_order_id="+customer_order_id+"&value="+conversion_value+"&label="+conversion_label+"&user_agent="+user_agent+"&resolution="+resolution+"&currency="+cur+"&referrer="+referrer);
}

function isExcluded(excluded_domains){
	var referrer = (parent == self) ? document.referrer : top.document.referrer;
	
	if(referrer !== ""){
		for(var i in excluded_domains){
			var s = excluded_domains[i].toString();
			
			if(referrer.indexOf(s) > -1){	
				return true;
			}
	
		}
	}
	return false;
}

function matchReg(v) {
  var re = new RegExp("google(.*?/aclk.|.*?gclid=)");
  if (v.match(re)) {
    return true
  } else {
    return false;
  }
}