// JavaScript Document
//YOUR DEFUALT BUSINESS NUMBER WILL SHOW IF PUBLISHING FAILS FOR SOME REASON
var number_placeholderarray = new Array("numberassigned","numberassigned_footer", "numberassigned_top","numberassigned_left","numberassigned_right","numberassigned_support","numberassigned_1","numberassigned_2","numberassigned_3","numberassigned_4","numberassigned_5","numberassigned_6","numberassigned_7","numberassigned_8","numberassigned_9","numberassigned_10");
var type="P";
var source=getVar("utm_source");
//name of the campaign to fetch in trackable numbers associated with campaign, leave blank to fetch with no campaign association
var campaign = getVar("mm_campaign"); 

//name of the campaign to fetch in trackable numbers associated with campaign, leave blank to fetch with no campaign association
var keyword_ppc = getVar("keyword"); 

//name of the campaign to fetch in trackable numbers associated with campaign, leave blank to fetch with no campaign association
var phone_number = getVar("phone_number"); 

//ad type differentiation inside campaign, leave blank to fetch with for no ad type association
var ad_type = getVar("ad_type"); 

//set number display format 0 for XXX.XXX.XXXX 1 for (XXX) XXX-XXXX and 2 for xxx-xxx-xxxx
if (typeof customer_number_format != 'undefined')
	var display_format = customer_number_format;
else
	var display_format=0;

//check  custom JS variable values. If they are there then pass to pixelfire and set them in cookie, else fetch from cooke and assign else null
if (typeof custom1 != 'undefined')
{
	setcookie("MM_custom1",custom1,720);
	var c1=custom1;
}
else
	var c1 = get_cookie("MM_custom1",null);
	

if (typeof custom2 != 'undefined')
{
	setcookie("MM_custom2",custom2,720);
	var c2=custom2;
}
else
var c2 = get_cookie("MM_custom2",null);

if (typeof custom3 != 'undefined')
{
	setcookie("MM_custom3",custom3,720);
	var c3=custom3;
}
else
var c3 = get_cookie("MM_custom3",null);

if (typeof affiliate_id != 'undefined')
{
	setcookie("MM_affiliate_id",affiliate_id,720);
	var aid=affiliate_id;
}
else
var aid = get_cookie("MM_affiliate_id",null);

if(getVar("type")=="I") 
{
	type="I";
	source=document.referrer;
}

/**
 * Requests the ad object using a cross domain call.
 * This function is to be called on page load to get the JSON text with the Ad    
*/

function getNumber(campaign_alt) 
{
	if(!cookieExists())
	{
		//alert("cookie doesnt exist");
		//document.write("no cookie");
		if(campaign.length < 2)
			campaign=campaign_alt;
		//alert(keyword_ppc.length);
		
		 if(keyword_ppc.length < 2)
		{
			// organic Keyword
		  	referrer=document.referrer;
			if(referrer) //added on 06.04 
			{
                source=findurl(referrer);
		        var keyword_organic=getRef('q');
				if(source == 'search.yahoo.com')	
				{
					keyword_organic=getRef('p');
				}

				//document.write("keyword=" + keyword);	
				//document.write("referrer="+ referrer);
				//document.write("referrererer");
				keyword=keyword_organic;
				type="O";
			} //added on 06.04 
		}
	
		else
		{
			var keyword=keyword_ppc;
		}
		//alert(keyword);
		if(keyword)//added on 06.04 if keyword exist with the request
		{ //added on 06.04 
			//Hard code the url of the request
			var request = "http://www.mongoosemetrics.com/correlation/json_find_correlation_number.php?keyword="+keyword+"&campaign="+campaign+"&phone_number="+phone_number+"&type="+type+"&source="+source+"&ad_type="+ad_type+"&callback=showNumber";
			//alert(request);
			// Get the script tag, if it exists
			var head = document.getElementsByTagName("head").item(0);
			script = document.createElement("script");
			script.setAttribute("src", request);
			// all set, add the script
			head.appendChild(script);
			
		} //added on 06.04 
		else //if cookie doesnt exist and keyword is not part of the request, its a straight access.
		{
			show_cookie("MM_correlation_Number");
		}
		var tn=get_cookie("MM_correlation_Number",default_number);
		if(tn!=default_number)
			pixelfire(tn);	
		return(tn);
	 }
	 else
	{
		//alert("cookie exist");
		//document.write("cookie");
		show_cookie("MM_correlation_Number");
		var tn=get_cookie("MM_correlation_Number",default_number);
		if(tn!=default_number)
			pixelfire(tn);
		return(tn);
	}
	return(tn);
}

function pixelfire(tn)
{
var u = location.href;
var url="http://www.mongoosemetrics.com/pixelfire_correlate.php?phone_number="+tn+"&u="+u+"&c1="+c1+"&c2="+c2+"&c3="+c3+"&aid="+aid;
//alert("url is "+ url);
myImage= new Image();
myImage.src=url;

}
/**
 * THis function is called when the JSON string is returned from json-encode.php
*/
function findurl(url)
{
	var x=url.split("http://");
	var y=x[1].split("/");
	return(y[0]);
}

function showNumber(number) 
{
	//document.write("number="+number);
	response = number.corelate_number;
	interval = number.interval;
	//alert(response);
	//alert(interval);
 	if(response!=-1)
	{	//document.write(response);
    	setcookie("MM_correlation_Number",response,interval);	
	}
	show_cookie("MM_correlation_Number");
	pixelfire(response);
	//Redirect page to a different URL after assignment, the variable defined on client web page
	if (typeof redirect_url != 'undefined')
		window.location.href=redirect_url;
}

	  
//FUNCTION TO FETCH THE URL VALUE FOR A NAME E.G: ?CAMPAIGN=INSULATED WATER HEATER -->getVAR("CAMPAIGN")

function getVar(name)
{
	 get_string = document.location.search;         
	 return_value = '';
 
	 do 
	 { //This loop is made to catch all instances of any get variable.
		name_index = get_string.indexOf('&' + name + '=');
	
		if(name_index != -1)
		{
	  		get_string = get_string.substr(name_index + name.length + 2, get_string.length - name_index);
	  
	 		end_of_value = get_string.indexOf('&');
			if(end_of_value != -1)                
				value = get_string.substr(0, end_of_value);                
	  		else                
				value = get_string;                
		    if(return_value == '' || value == '')
				return_value += value;
			 else
                                return_value += ', ' + value;
	  	}
		else
		{
			name_index = get_string.indexOf('?' + name + '=');
			
			if(name_index != -1)
			{
	  		get_string = get_string.substr(name_index + name.length + 2, get_string.length - name_index);
	  
	 		end_of_value = get_string.indexOf('&');
			if(end_of_value != -1)                
			value = get_string.substr(0, end_of_value);                
			  		else                
			value = get_string;                
			    if(return_value == '' || value == '')
			return_value += value;
			 else
			 return_value += ', ' + value;
			}


		}
	 } 
	 while(name_index != -1)
	
     //Restores all the blank spaces.
	 var space = return_value.indexOf('+');
	 while(space != -1)
	 { 
	   return_value = return_value.substr(0, space) + ' ' + 
	   return_value.substr(space + 1, return_value.length);
	   space = return_value.indexOf('+');
	 }
     return(return_value);        
}
function getRef(name)
{
 get_string = document.referrer;
 return_value = '';

 do
 { //This loop is made to catch all instances of any get variable.
		name_index = get_string.indexOf(name + '=');

		if(name_index != -1)
		{
				get_string = get_string.substr(name_index + name.length + 1, get_string.length - name_index);

				end_of_value = get_string.indexOf('&');
				if(end_of_value != -1)
						value = get_string.substr(0, end_of_value);
				else
						value = get_string;
			if(return_value == '' || value == '')
						return_value += value;
	//else
				 //       return_value += ', ' + value;

		}
 }
 while(name_index != -1)

//Restores all the blank spaces.
 var space = return_value.indexOf('+');
 while(space != -1)
 {
   return_value = return_value.substr(0, space) + ' ' +
   return_value.substr(space + 1, return_value.length);
   space = return_value.indexOf('+');
 }
return(return_value);

}



//FUNCTION TO SET PUBLISHED NUMBER TO COOKIE FOR INTERVAL SPECIFIED
function setcookie(cookie_name,val, interval)
{
//alert(interval);
	if(val!="")
	{
		var today = new Date();
		today.setTime( today.getTime() );
		vtime = today.getTime()+ 1000 * 60 * interval ;
		var cookie_expire_date = new Date(vtime); 
		document.cookie=cookie_name+"="+val+";expires="+cookie_expire_date.toGMTString()+";path=/";
	}
	//alert("cookie Set");
	return;
}

function show_cookie(name)
{
	//var default_number = "8002931174"; 
	if(document.cookie)
	{
		index=document.cookie.indexOf(name);
		if (index != -1)
		{
			namestart = (document.cookie.indexOf("=", index) + 1);
                        nameend = document.cookie.indexOf(";", index);
                        if (nameend == -1) {nameend = document.cookie.length;}
			var ret_one = document.cookie.substring(namestart, nameend);
		}
		else
		var ret_one = default_number;
	}
	else
		var ret_one = default_number;
		
	//alert("Cookie Number"+ret_one);
	for (i=0; i<number_placeholderarray.length;i++)
	{
		//alert(placeholder);
		if(document.getElementById(number_placeholderarray[i]))
		{
			//alert("we have it");
			document.getElementById(number_placeholderarray[i]).innerHTML = formatnumber(ret_one,display_format);
		}
			
	}
	if (typeof callback_function != 'undefined')	
	eval(callback_function+"();")

}
function get_cookie(name,default_value)
{
//alert(document.cookie);
//var default_number = "8001234567";
        if(document.cookie)
        {
				//alert(document.cookie);
                index=document.cookie.indexOf(name);
				//alert(index);
                if (index != -1)
                {
                        namestart = (document.cookie.indexOf("=", index) + 1);
                        nameend = document.cookie.indexOf(";", index);
                        if (nameend == -1) {nameend = document.cookie.length;}
                        var ret_one = document.cookie.substring(namestart, nameend);
                }
                else
                var ret_one = default_value;
        }
        else
                var ret_one = default_value;


	return(ret_one);
}



//FUNCTION TO CHECK IF COOKIE WITH MM_CORRELATION_NUMBER EXISTS FOR THE VISITOR BROWSER
function cookieExists()
{
//alert(document.cookie);
	if(document.cookie)
	{
		index=document.cookie.indexOf("MM_correlation_Number");
		if (index != -1)
			return true;
		else
			return false;
	}
	else
		return false;
}
function formatnumber(num,display_format)
{
	if (typeof 	prefix_countrycode != 'undefined')
		var country_code = prefix_countrycode;
	else
		var country_code = "";	


	//format 0 --  xxx.xxx.xxxx
	//format 1 --  (xxx) xxx-xxxx
	//format 2 --   xxx-xxx-xxxx
	if(display_format==0)
	{
		_return="";

		if(country_code!="")
		 _return+=country_code+".";

		var ini = num.substring(0,3);
		_return+=ini+".";
		var st = num.substring(3,6);
		_return+=st+".";
		var end = num.substring(6,10);
		_return+=end;
		return _return;
	}
	else if(display_format==1)
	{
		_return="";

		if(country_code!="")
		 _return+=country_code;

		var ini = "("+num.substring(0,3)+")";
		_return+=ini+" ";
		var st = num.substring(3,6);
		_return+=st+"-";
		var end = num.substring(6,10);
		_return+=end;
		return _return;
	}
	else
	{
		_return="";

		if(country_code!="")
		 _return+=country_code+"-";

		var ini = num.substring(0,3);
		_return+=ini+"-";
		var st = num.substring(3,6);
		_return+=st+"-";
		var end = num.substring(6,10);
		_return+=end;
		return _return;
	}
}
