// JavaScript Document
//YOUR DEFUALT BUSINESS NUMBER WILL SHOW IF PUBLISHING FAILS FOR SOME REASON
if (typeof mm_debug == 'undefined'){
	mm_debug = 0;
}

if (mm_debug) alert("in spc");
mm_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");


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 promo_placeholderarray = new Array("promoassigned","promoassigned_footer", "promoassigned_top","promoassigned_left","promoassigned_right","promoassigned_support","promoassigned_1","promoassigned_2","promoassigned_3","promoassigned_4","promoassigned_5","promoassigned_6","promoassigned_7","promoassigned_8","promoassigned_9","promoassigned_10");
var tnarray=new Array("","");
var CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');

var source=getVar("mm_utm_source");
if (!source)
	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");
if (!campaign && typeof mm_c != 'undefined')
	var campaign = mm_c;
if (!campaign)
	var campaign = '';
	
var gclid=getVar("gclid");

if (!mkwid)
	var mkwid=getVar("mkwid");

if (!mkwid)
	var mkwid=getVar("kshid");

var mcreativeid=getVar("mcreativeid");

var adcampaign=unescape(getVar("mm_utm_campaign"));
if (!adcampaign)
	var adcampaign=unescape(getVar("utm_campaign"));

//name of the campaign to fetch in trackable numbers associated with campaign, leave blank to fetch with no campaign association
var keyword_ppc = unescape(getVar("keyword"));
if(keyword_ppc.length < 2)
	keyword_ppc = unescape(getVar("mm_keyword"));

if (type=="D" && keyword_ppc.length < 2){
 var keyword_ppc="direct traffic";
 var type="I";
}else{
 var type="P";
}



//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");

	if(ad_type.length < 2){
		if (typeof adtype != 'undefined'){
			ad_type = adtype;
		}
	}

//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;
}

if(getVar("match")=="PPC") 
{
	type="S";
	source=encodeURIComponent(document.URL);
}

if (typeof promocode != 'undefined'){
	if (typeof default_promo == 'undefined'){
		default_promo = 0;
	}
}else{
	promocode = '';
	default_promo = 0;
}

if (typeof overwrite_default_number == 'undefined'){
	overwrite_default_number = 'Y';	
}


// These variables are used to override passed in variables
if (typeof override_keyword != 'undefined'){
	keyword_ppc = override_keyword;
}
if (typeof override_mmcampaign != 'undefined'){
	campaign = override_mmcampaign;
}
if (typeof override_source != 'undefined'){
	source = override_source;
}
if (typeof override_adcampaign != 'undefined'){
	adcampaign = override_adcampaign;
}
if (typeof overflow_number == 'undefined'){
	overflow_number = '';
}
if (typeof organic_number == 'undefined'){
	organic_number = '';
}
if (typeof failover_number == 'undefined'){
	failover_number = '';
}

/**
 * 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    
*/

if (!cookieExistsName("MM_GUID")){
	currentGUID = createGUID();
	setcookie("MM_GUID",currentGUID,2628000);	
	//alert(currentGUID);
}else{
	currentGUID = get_cookie("MM_GUID","")
}
//alert(currentGUID);
if (!cookieExistsName("MM_UUID")){
	currentUUID = createUUID();
	setcookie("MM_UUID",currentUUID,1440);	
}else{
	currentUUID = get_cookie("MM_UUID","")
}
spareUUID = createUUID();
//alert(currentUUID);

function getVisitor(){
	//alert ("in getV");
		 if(keyword_ppc.length < 2 || keyword_ppc == "direct traffic")
		{
			// organic Keyword
		  	referrer=document.referrer;
			if(referrer) //added on 06.04 
			{
				if (type=="S"){
					keyword="source";
				}else{
					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";
					if (organic_number != ''){
						showNumber({"corelate_number":organic_number,"interval":"43200","unique_cookie":"","promo_code":""});
						keyword='';
					}
				}
			}else{ //added on 06.04 
				if (keyword_ppc == "direct traffic" && type=="I"){
					var keyword=keyword_ppc;	
				}
			}
		}
	
		else
		{

			var keyword=keyword_ppc;
		}
	var fullquery = encodeURIComponent(document.location.search);
	var request =mm_protocol+"www.mongoosemetrics.com/correlation/json_find_correlation_number.php?keyword="+keyword+"&source="+source+"&adcampaign="+adcampaign+"&callback=visitorID&fullquery="+fullquery+"&GUID="+currentGUID+"&UUID="+currentUUID+"&SUID="+spareUUID+"&campaign="+campaign;
	
				
	//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);	
}


function getNumber(campaign_alt) 
{
	//alert ("in getnum");
	if(!cookieExists()){
		
		//alert("cookie doesnt exist");
		//document.write("no cookie");
		if(campaign.length < 2)
			campaign=campaign_alt;
		 //alert(keyword_ppc.length);
		 //alert(campaign);
		 if(keyword_ppc.length < 2 || keyword_ppc == "direct traffic")
		{
			// organic Keyword
		  	referrer=document.referrer;
			if(referrer) //added on 06.04 
			{
				if (type=="S"){
					keyword="source";
				}else{
					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";
					if (organic_number != ''){
						showNumber({"corelate_number":organic_number,"interval":"43200","unique_cookie":"","promo_code":""});
						keyword='';
					}
				}
			}else{ //added on 06.04 
				if (keyword_ppc == "direct traffic" && type=="I"){
					var keyword=keyword_ppc;	
				}
			}
		}
	
		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
			//alert("in assign");
			var lu = probeURL();
			var ru = unescape(document.referrer);
			var ru = encodeURIComponent(ru);
			var fullquery = encodeURIComponent(document.location.search);
			var mm_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");
			var request =mm_protocol+"www.mongoosemetrics.com/correlation/json_find_correlation_number.php?keyword="+keyword+"&campaign="+campaign+"&phone_number="+phone_number+"&type="+type+"&source="+source+"&mkwid="+mkwid+"&mcreativeid="+mcreativeid+"&gclid="+gclid+"&adcampaign="+adcampaign+"&ad_type="+ad_type+"&callback=showNumber&referrer="+ru+"&u="+lu+"&pc="+promocode+"&GUID="+currentGUID+"&UUID="+currentUUID+"&SUID="+spareUUID+"&fullquery="+fullquery;
			setcookie("MM_keyword",keyword,720)
			setcookie("MM_source",source,720)
			//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);
			
		
		}else{ //if cookie doesnt exist and keyword is not part of the request, its a straight access.
		
			var sessCheck=get_cookie("MM_session_ID",'');
			getVisitor();
			if (sessCheck){
				if (overflow_number != ''){
					showNumber({"corelate_number":overflow_number,"interval":"43200","unique_cookie":"","promo_code":""});
				}
			}
			show_cookie("MM_correlation_Number");
			if (promocode)
				show_cookie("MM_promo_code");
		}
		var tn=get_cookie("MM_correlation_Number",default_number);
		
		if(tn!=default_number)
			pixelfire(tn);	
		return(tn);
		
	 }else{
		 //cookie exist
	 
		//alert("cookie exists");
		if (typeof redirect_url != 'undefined')
			window.location.href=redirect_url;
		getVisitor();
		show_cookie("MM_correlation_Number");
		if (promocode)
			show_cookie("MM_promo_code");
		var tn=get_cookie("MM_correlation_Number",default_number);
		if(tn!=default_number)
			pixelfire(tn);
		return(tn);
	}
}

function pixelfire(tn)
{
	var lu = probeURL();
	var mm_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");
	var url=mm_protocol+"www.mongoosemetrics.com/pixelfire_correlate.php?phone_number="+tn+"&u="+lu+"&c1="+escape(c1)+"&c2="+escape(c2)+"&c3="+escape(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 str="http://";
	if(url.search(str)==-1){
		var x=url.split("https://");
	}else{
		var x=url.split("http://");		
	}
	var y=x[1].split("/");
	return(y[0]);
}

function visitorID(number) 
{
	sessioncheck = number.SUID;
	//alert("reply:"+sessioncheck);
	if (sessioncheck != 1)
		setcookie("MM_UUID",sessioncheck,1440);
}
function showNumber(number) 
{
	//alert(response);
	response = number.corelate_number;
	interval = number.interval;
	unique_cookie = number.unique_cookie;
	promo_code = number.promo_code;
	sessioncheck = number.SUID;
	if (sessioncheck != 1)
		setcookie("MM_UUID",sessioncheck,1440);
	if (response==-2){
		if(failover_number != ''){
		response = failover_number;
		interval = 5;
		}else{
		response = -1;	
		}
	}
 	if(response!=-1)
	{	//document.write(response);
    	setcookie("MM_correlation_Number",response,interval);	
		setcookie("MM_session_ID",unique_cookie,43200);	
    	if (promo_code)
			setcookie("MM_promo_code",promo_code,interval);	
	}
	show_cookie("MM_correlation_Number");
	if (promo_code)
	show_cookie("MM_promo_code");
	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;
		
	//reload the page after number assignment of customer has set var mm_reload=1;	
	if (typeof mm_reload != 'undefined')
        {
                if(mm_reload == 1)
                {
                        window.location.reload();
                }
        }

}

	  
//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 = '';

  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( get_string );
  if( results == null )
    return "";
  else
    return results[1];

}



//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); 
		
		var  current_url = document.URL;
		
		var patt1=/http:/gi;
		var patt2=/https:/gi;
		
		if(current_url.match(patt1))
		{
		url_domain = current_url.split("http://");
		}
		else if(current_url.match(patt2))
		{
		url_domain = current_url.split("https://");
		}
		
		sub_and_top_domain_slash = url_domain[1].split("/");
		sub_and_top_domain_question = sub_and_top_domain_slash[0].split("?");
		period_count = sub_and_top_domain_question[0].split(".");
		
		
		if(period_count.length == 2)
		{	
			main_url = period_count[0]+"."+period_count[1];
			document.cookie=cookie_name+"="+val+";expires="+cookie_expire_date.toGMTString()+"; path=/; domain="+main_url;
		}
		else if(period_count.length == 3)
		{	
			var lowerDomain = period_count[2].toLowerCase();
			if (lowerDomain == 'uk'){
				main_url = period_count[0]+"."+period_count[1]+"."+period_count[2];					
			}else{
				main_url = period_count[1]+"."+period_count[2];
			}
			document.cookie=cookie_name+"="+val+";expires="+cookie_expire_date.toGMTString()+"; path=/; domain="+main_url;
		}
		else if(period_count.length == 4)
		{
			main_url = period_count[1]+"."+period_count[2]+"."+period_count[3];
			document.cookie=cookie_name+"="+val+";expires="+cookie_expire_date.toGMTString()+"; path=/; domain="+main_url;
		}
		else if(period_count.length == 5)
		{
			main_url = period_count[1]+"."+period_count[2]+"."+period_count[3]+"."+period_count[4];
			document.cookie=cookie_name+"="+val+";expires="+cookie_expire_date.toGMTString()+"; path=/; domain="+main_url;
		}
		
	}
}

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);
			var ret_two = document.cookie.substring(namestart, nameend);
		}else{
			var ret_one = default_number;
			var ret_two = default_promo;
		}

	}else{
		var ret_one = default_number;
		var ret_two = default_promo;
	}
	if (name == "MM_promo_code"){
		for (i=0; i<promo_placeholderarray.length;i++)
		{	
			if(document.getElementById(promo_placeholderarray[i]))
			{
				
				document.getElementById(promo_placeholderarray[i]).innerHTML = ret_two;
			}
				
		}		
	}else{
		for (i=0; i<number_placeholderarray.length;i++){
			if(document.getElementById(number_placeholderarray[i]))
			{
				if(ret_one != default_number || overwrite_default_number != 'N')
				{
					
					document.getElementById(number_placeholderarray[i]).innerHTML = formatnumber(ret_one,display_format);
					
				}
			}
			
		}
	}
	tnarray[0]=ret_one;
	tnarray[1]=formatnumber(ret_one,display_format);
	//alert('shownumber');
	//alert(tnarray[0]);

	if(ret_one != default_number || overwrite_default_number != 'N'){
		if (typeof our_function != 'undefined')	
			eval(our_function+"();")
	}

	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 cookieExistsName(name)
{
//alert(document.cookie);
	if(document.cookie)
	{
		index=document.cookie.indexOf(name);
		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 if(display_format==3)
	{
		_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==4)
	{
		_return="";

		if(country_code!="")
		 _return+=country_code;

		var ini = num.substring(0,4);
		_return+=ini+" ";
		var st = num.substring(4,7);
		_return+=st+" ";
		var end = num.substring(7,11);
		_return+=end;
		return _return;
	}
	else if(display_format==5)
	{
		_return="";

		if(country_code!="")
		 _return+=country_code;

		var ini = num.substring(0,5);
		_return+=ini+" ";
		var st = num.substring(5,8);
		_return+=st+" ";
		var end = num.substring(8,11);
		_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;
	}
}
function c(name,default_value)
{
	return(get_cookie(name,default_value));
}

function o(num,display_format)
{
	return(formatnumber(num,display_format));
}

function probeURL ()
{
	var checkURL = 'NA';
	checkURL = document.URL;
	if (checkURL.length < 3){checkURL = window.location.href;}
	if (checkURL.length < 3){checkURL = document.location.href;}
	if (checkURL.length < 3){checkURL = location.href;}
	checkURL = unescape(checkURL);
	var checkPOS = checkURL.indexOf('?');
	if (checkPOS != -1){
		splitURL=checkURL.split('?');
		checkURL=splitURL[0];
	}
	return encodeURIComponent(checkURL);
}

function showExt () {
	if (tnarray[0].length == 10){
		return 1;
	}else{
		return -1;
	}
}

function S4() {
   return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
}
function createGUID() {
   return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
}



function createUUID (len, radix) {
    var chars = CHARS, uuid = [];
    radix = radix || chars.length;

    if (len) {
      // Compact form
      for (var i = 0; i < len; i++) uuid[i] = chars[0 | Math.random()*radix];
    } else {
      // rfc4122, version 4 form
      var r;

      // rfc4122 requires these characters
      uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
      uuid[14] = '4';

      // Fill in random data.  At i==19 set the high bits of clock sequence as
      // per rfc4122, sec. 4.1.5
      for (var i = 0; i < 36; i++) {
        if (!uuid[i]) {
          r = 0 | Math.random()*16;
          uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
        }
      }
    }

    return uuid.join('');
}


function Delete_Cookie( name, path, domain ) {
		//alert('del');
if ( Get_Cookie( name ) ) document.cookie = name + "=" +
( ( path ) ? ";path=" + path : "") +
( ( domain ) ? ";domain=" + domain : "" ) +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
// this function gets the cookie, if it exists
// don't use this, it's weak and does not handle some cases
// correctly, this is just to maintain legacy information
function Get_Cookie( name ) {

var start = document.cookie.indexOf( name + "=" );
var len = start + name.length + 1;
if ( ( !start ) &&
( name != document.cookie.substring( 0, name.length ) ) )
{
return null;
}
if ( start == -1 ) return null;
var end = document.cookie.indexOf( ";", len );
if ( end == -1 ) end = document.cookie.length;
return unescape( document.cookie.substring( len, end ) );
}



      function subDomain(url) {

      // IF THERE, REMOVE WHITE SPACE FROM BOTH ENDS
	  
      url = url.replace(new RegExp(/^\s+/),""); // START

      url = url.replace(new RegExp(/\s+$/),""); // END

       

      // IF FOUND, CONVERT BACK SLASHES TO FORWARD SLASHES

      url = url.replace(new RegExp(/\\/g),"/");

       

      // IF THERE, REMOVES 'http://', 'https://' or 'ftp://' FROM THE START

      url = url.replace(new RegExp(/^http\:\/\/|^https\:\/\/|^ftp\:\/\//i),"");

       

      // IF THERE, REMOVES 'www.' FROM THE START OF THE STRING

      url = url.replace(new RegExp(/^www\./i),"");

       

      // REMOVE COMPLETE STRING FROM FIRST FORWARD SLASH ON

      url = url.replace(new RegExp(/\/(.*)/),"");

      urlnew = url;

      // REMOVES '.??.??' OR '.???.??' FROM END - e.g. '.CO.UK', '.COM.AU'

      if (url.match(new RegExp(/\.[a-z]{2,3}\.[a-z]{2}$/i))) {

      url = url.replace(new RegExp(/\.[a-z]{2,3}\.[a-z]{2}$/i),"");

       

      // REMOVES '.??' or '.???' or '.????' FROM END - e.g. '.US', '.COM', '.INFO'

      } else if (url.match(new RegExp(/\.[a-z]{2,4}$/i))) {

      url = url.replace(new RegExp(/\.[a-z]{2,4}$/i),"");

      }

      // CHECK TO SEE IF THERE IS A DOT '.' LEFT IN THE STRING
      var subDomain = (url.match(new RegExp(/\./g))) ? '1' : '2';
	  
	  if (subDomain == 1){
		rebuiltDomain = '';
		brokenDomain = urlnew.split('.');
		for(var i=1;i < brokenDomain.length;i++) {
			rebuiltDomain = rebuiltDomain + brokenDomain[i] + "."	
		}
		rebuiltDomain = rebuiltDomain.slice(0, -1)
		urlnew = rebuiltDomain;
	  }
      return(urlnew);
      }