var colMoved = false;
var intId;
var n = 0;

var CSS = {

        load: /*static*/ function (url_, /*optional*/ media_)
        {
	        // We are preventing loading a file already loaded
	        var _links = document.getElementsByTagName("link");
	        var _head = document.getElementsByTagName("head")[0];               
	       
	        // Loop through the length of the links
	        for( i = 0; _links.length > i; i++)
	        {
	            // If the href is already present, remove it
	            if (_links[i]["href"] == url_)
	            {
	                _head.removeChild(_links[i]);
	            }
	        }
	
	        // Optional parameters check
	        var _media = media_ === undefined || media_ === null ? "all" : media_;
	       
	        // Build link element
	        var _elstyle = document.createElement("link");
				_elstyle.setAttribute("rel", "stylesheet");
	        _elstyle.setAttribute("type", "text/css");
	        _elstyle.setAttribute("media", _media);
	        _elstyle.setAttribute("href", url_);
	
	        // Add style
	        _head.appendChild(_elstyle);
        }
};

function load_CSS(){
 	var wd = screen.width;
	// Changed to document.write methods instead of load method to work around lag
 	if (wd <= 800){
		//CSS.load('css/all_800x600.css');		
		document.write('<link rel="stylesheet" href="css/all_800x600.css" type="text/css">');	
	} else{
		//CSS.load('css/all.css');		
		document.write('<link rel="stylesheet" href="css/all.css" type="text/css">');	
	}
	
	if (wd == 1152)
	{
		//CSS.load('css/all_1152.css');
		document.write('<link rel="stylesheet" href="css/all_1152.css" type="text/css">');	
	}
	else if (wd == 1280)
	{
		//CSS.load('css/all_1280.css');
		document.write('<link rel="stylesheet" href="css/all_1280.css" type="text/css">');	
	}
	else if (wd == 1400)
	{
		//CSS.load('css/all_1400.css');
		document.write('<link rel="stylesheet" href="css/all_1400.css" type="text/css">');	
	}
	else if (wd == 1600)
	{	
		//CSS.load('css/all_1600.css');
		document.write('<link rel="stylesheet" href="css/all_1600.css" type="text/css">');	
	}
	else if (wd == 1680)
	{	
		//CSS.load('css/all_1680.css');
		document.write('<link rel="stylesheet" href="css/all_1680.css" type="text/css">');	
	}
	else if (wd >= 1920)
	{	
		//CSS.load('css/all_1920.css');
		document.write('<link rel="stylesheet" href="css/all_1920.css" type="text/css">');	
	}
}

function launchInit(){		
	setColumnHeights();
	/* Let's set the proper banners according to resolution*/
	setBannerImage();
	// Cannot call init() directly, as FF has not applied CSS when called from OnLoad event
	intId = setInterval("setColumnHeights()",100);
	return true;
}

/*This function will print out the random logos according to the screen resolution, this will print the contents of a Table*/
function getRandomLogos()
{
	var logoArray = new Array();
	
	logoArray[0] = "<a href=\"franchisedirectory.asp\"><img src=\"franchiseLogoPhotos/franchises/small/AAMCO-Transmissions.jpg\" width=\"96\" height=\"48\" alt=\"AAMCO Transmissions Franchise Opportunity\" /></a>";
	logoArray[1] = "<a href=\"franchisedirectory.asp\"><img src=\"franchiseLogoPhotos/franchises/small/ARCO-ampm.jpg\" width=\"96\" height=\"48\" alt=\"ARCO-ampm Franchise Opportunity\" /></a>";
	logoArray[2] = "<a href=\"franchisedirectory.asp\"><img src=\"franchiseLogoPhotos/franchises/small/Baja-Fresh-Mexican-Grill.jpg\" width=\"96\" height=\"48\" alt=\"Baja Fresh Franchise Opportunity\" /></a>";
	logoArray[3] = "<a href=\"franchisedirectory.asp\"><img src=\"franchiseLogoPhotos/franchises/small/Baskin-Robbins.jpg\" width=\"96\" height=\"48\" alt=\"Baskin Robbins Franchise Opportunity\" /></a>";
	logoArray[4] = "<a href=\"franchisedirectory.asp\"><img src=\"franchiseLogoPhotos/franchises/small/Blimpie.jpg\" width=\"96\" height=\"48\" alt=\"Blimpie Franchise Opportunity\"/></a>";
	logoArray[5] = "<a href=\"franchisedirectory.asp\"><img src=\"franchiseLogoPhotos/franchises/small/Subway.jpg\" width=\"96\" height=\"47\" alt=\"Subway Franchise Opportunity\"/></a>";
	logoArray[6] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/Carls-Jr.jpg\" width=\"96\" height=\"48\" alt=\"Carls Jr Franchise Opportunity\"/></a>";
	logoArray[7] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/Cartridge-World.jpg\" width=\"96\" height=\"48\" alt=\"Cartridge World Franchise Opportunity\"/></a>";
	logoArray[8] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/CD-One-Price-Cleaners.jpg\" width=\"96\" height=\"48\" alt=\"CD One Price Cleaners.jpg Franchise Opportunity\"/></a>";
	logoArray[9] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/Domino-s-Pizza.jpg\" width=\"96\" height=\"48\" alt=\"Dominos Pizza Franchise Opportunity\"/></a>";
	logoArray[10] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/DQ-Orange-Julius.jpg\" width=\"96\" height=\"48\" alt=\"DQ Orange Julius Franchise Opportunity\"/></a>";
	logoArray[11] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/DVDNow-Kiosk.jpg\" width=\"96\" height=\"48\" alt=\"DVDNow Kiosk Franchise Opportunity\"/></a>";
	logoArray[12] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/Emergency-Dental-Care-USA.jpg\" width=\"96\" height=\"48\" alt=\"Emergency Dental Care USA Franchise Opportunity\"/></a>";
	logoArray[13] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/Fantastic-Sams.jpg\" width=\"96\" height=\"48\" alt=\"Fantastic Sams Franchise Opportunity\"/></a>";
	logoArray[14] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/Golf-USA.jpg\" width=\"96\" height=\"48\" alt=\"Golf USA Franchise Opportunity\"/></a>";
	logoArray[15] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/Gymboree-Play-Music.jpg\" width=\"96\" height=\"48\" alt=\"Gymboree Play Music Franchise Opportunity\"/></a>";
	logoArray[16] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/KFC-Kentucky-Fried-Chicken.jpg\" width=\"96\" height=\"48\" alt=\"KFC Kentucky Fried Chicken Franchise Opportunity\"/></a>";
	logoArray[17] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/Mail-Box-Stores.jpg\" width=\"96\" height=\"48\" alt=\"Mail Box Stores Franchise Opportunity\"/></a>";
	logoArray[18] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/McDonalds.jpg\" width=\"96\" height=\"48\" alt=\"McDonalds Franchise Opportunity\"/></a>";
	logoArray[19] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/Sears-Carpet-Air-Duct-Clean.jpg\" width=\"96\" height=\"48\" alt=\"Sears Franchise Opportunity\"/></a>";
	logoArray[20] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/Taco-Bell.jpg\" width=\"96\" height=\"48\" alt=\"Taco Bell Franchise Opportunity\"/></a>";
	logoArray[21] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/The-Tan-Company.jpg\" width=\"96\" height=\"48\" alt=\"The Tan Company Franchise Opportunity\"/></a>";	
	logoArray[22] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/Vendstar.jpg\" width=\"96\" height=\"48\" alt=\"Vendstar Franchise Opportunity\"/></a>";	
	logoArray[23] = "<a href=\"franchisedirectory.asp\" rel=\"nofollow\" target=\"_blank\"><img src=\"franchiseLogoPhotos/franchises/small/Wireless-Toyz.jpg\" width=\"96\" height=\"48\" alt=\"Wireless Toyz Franchise Opportunity\"/></a>";		

	//var randomLogos = 9;
	var randomLogos = 24;
	var trMod = 3

	var wd = screen.width;

	if (wd <= 800) {
		randomLogos = 10;
		trMod = 2;
	}
	else if ((wd > 800) && (wd < 1280))
	{
		randomLogos = 10;
		trMod = 2;
	}
	else if ((wd >= 1280) && (wd < 1600))
	{
		randomLogos = 6;
	}
	else if (wd >= 1600)
	{
		randomLogos = 3;
	}
	
	var tmpIndex = 0;
		
	// Randomly choose the desired logos from the array
	
	var tableLogos = document.getElementById("franchiseLogos");
	
	for(var i = 0; i < tableLogos.rows.length; i++)
	{
		tableLogos.deleteRow(0);		
	}
	
	var tableLogosTmpRow;
	var tableLogosTmpCell;
	
	for(var i = 0; i < randomLogos; i++)
	{
		if((i % trMod) == 0)
		{
			/* Create new row*/
			tableLogosTmpRow = tableLogos.insertRow(0);	
		}		
		
		/* Create new cells on the recently created row*/
		tmpIndex = parseInt(Math.random()*logoArray.length);
		tableLogosTmpCell = tableLogosTmpRow.insertCell(0);
		tableLogosTmpCell.style.textAlign = "center";
		tableLogosTmpCell.width = "97px";
		tableLogosTmpCell.innerHTML = logoArray[tmpIndex];
		logoArray.splice(tmpIndex,1);		
	}
}

/* Set the banner image, small images for smallest resolution */
function setBannerImage()
{
	var wd = screen.width;
 	if (wd <= 800){			
		document.getElementById('imgBanner1').src = 'images/commercial-loan-7.gif';
	} else{
		document.getElementById('imgBanner1').src = 'images/banner-01.gif';
	}
}

function setColumnHeights(){

	var divCol1 = document.getElementById('col1Box2Mid');
	var divCol2 = document.getElementById('col2Box2Mid');
	var divCol3 = document.getElementById('col3Box3Mid');

	var h1 = document.getElementById('col1').offsetHeight;
	var h2 = document.getElementById('col2').offsetHeight;
	var h3 = document.getElementById('col3').offsetHeight;	
	
	if (h1 > 1200 || h2 > 1200 || h3 > 1200)	
		return false;
	
	//alert('col 1='+h1.toString() +  ' , col 2=' + h2.toString() +  ' , col 3='+ h3.toString() );
	var divPageLoader = document.getElementById('divPageLoader');
	//var sLoadText = divPageLoader.innerText;

	var hNew = 0;
	var h = getMaxNumber(h1, h2);
	var h = getMaxNumber(h, h3);	
	//alert(h);	
	var b='OO';
	// For Firefox -------------------
	if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
	b='FF';	
		if (screen.width == 800) {
			// Change this values manually for Firefox 3 columns having not the same size!
			//before FG
			//divCol1.style.height = '467px';
			divCol1.style.height = '468px';
			divCol2.style.height = '809px';
			divCol3.style.height = '618px';
		}else{
			if (h1 <= h){
			 	//alert('changing h1');
				hNew = divCol1.offsetHeight + h - h1;				
				divCol1.style.height = hNew.toString()+ 'px';		
			}				
			
			if (h2 <= h){
			 	//alert('changing h2');
				hNew = divCol2.offsetHeight + h - h2;	    
				divCol2.style.height = hNew.toString()+ 'px';		
			}			
			
			if (h3 <= h){
			 	//alert('changing h3');
				hNew = divCol3.offsetHeight + h - h3 ;	    
				divCol3.style.height = hNew.toString()+ 'px';		
			}	
		}
	}
	
	// For IE -------------------
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
	//b='IE';
		if (screen.width == 800) {
			// Change this values manually for Internet Explorer 3 columns having not the same size!			
			//before FG
			//divCol1.style.height = '497px';
			//divCol2.style.height = '827px';
			//divCol3.style.height = '580px';
			divCol1.style.height = '484px';
			divCol2.style.height = '814px';
			divCol3.style.height = '567px';
		}else{
			if (h1 <= h){
				hNew = divCol1.offsetHeight + (h - h1) - 10;	
				divCol1.style.height = hNew.toString()+ 'px';		
			}
			
			if (h2 <= h){
				hNew = divCol2.offsetHeight + (h - h2) - 10;	    
				divCol2.style.height = hNew.toString()+ 'px';		
			}			
			
			if (h3 <= h){
				hNew = divCol3.offsetHeight + (h - h3) - 10;	    
				divCol3.style.height = hNew.toString()+ 'px';		
			}					
			//alert(hNew);
		}
	}
	
	n++;
	//window.status = 'col 1='+h1.toString() +  ' , col 2=' + h2.toString() +  ' , col 3='+ h3.toString() + ', col1.top=' + document.getElementById('col1').offsetTop + ', n=' + n.toString()+ ', b='+ b + ', hNew='+hNew;
	
	h1 = document.getElementById('col1').offsetHeight;
	h2 = document.getElementById('col2').offsetHeight;
	h3 = document.getElementById('col3').offsetHeight;

	if ((h1 == h2 && h2 == h3)){		
		//divPageLoader.style.display = 'none';
		clearInterval(intId);		
	}

	return true;
}

function getMaxNumber(n1, n2){
	if (n1 > n2)
		return n1;
	else
		return n2;
}

/* This function will reorder the UL Elements for them to be displayed Alphabetically top to bottom and left to right, Do not change!! This works for any well formed UL just send the id of the UL and the desired number
of columns to show */
function getULElements(objUL, cols)
{
	try
	{
		var ULObject = document.getElementById(objUL);
		var childNodesUL = ULObject.childNodes;
		var childLINodesArray = new Array()
		
		for (var i = (childNodesUL.length - 1); i >= 0 ; i--)
		{
			if(childNodesUL[i].nodeName.toUpperCase() == "LI")
			{
				childLINodesArray.push(childNodesUL[i].cloneNode(true));
				
				ULObject.removeChild(childNodesUL[i]);				
			}			
		}
		
		childLINodesArray.reverse();
		
		var arrayWithNewOrder = reorderArray(childLINodesArray.length, cols);
		
		for (var i = 0; i < arrayWithNewOrder.length; i++)
		{
			if(arrayWithNewOrder[i] < childLINodesArray.length)
				ULObject.appendChild(childLINodesArray[arrayWithNewOrder[i]].cloneNode(true));
		}
	}
	catch(oErr)
	{
		//alert(oErr.message);
		//alert(oErr.description);
	}
}

/* This function does some logic in order to display the data it divides the number of items between the number of columns. The remainder is added to each column from left to right.
 E.g. If I want 3 columns and I have 15 items there will be 5 items per column (15 / 3 = 5).
        But if I have 17 items then -> (17 / 3 = 5   remainder = 2) it means the first 2 columns instead of having 5 elements each of them will have one more (6) and the other 3 columns will have the corresponding 5 elements). */
function reorderArray(items, columns)
{
	try
	{
		var initialArray = new Array(items);
		var endArray = new Array();
		
		var modulus = items % columns;
		var divide = parseInt(items / columns);
		
		var counter = 0;
		var nextValue = 0;
				
		while(endArray.length < initialArray.length)
		{
			endArray.push(nextValue);
						
			if(modulus > 0)
			{
				if(counter < modulus)
				{
					nextValue = nextValue + divide + 1;
				}
				else
				{
					nextValue = nextValue + divide;
				}
				
				counter++;
			}
			else
			{
				nextValue = nextValue + divide;
			}
			
			if(nextValue >= initialArray.length)
			{
				nextValue = (nextValue - initialArray.length) + 1;
				counter = 0;
			}
		}
		
		return endArray;
	}
	catch(oErr)
	{
		//alert(oErr.description);
	}
}

/* Function to sort the Desired UL Elements */
function resortULs()
{
	getULElements("mostSearchedStatesUL", 3);
	getULElements("statesUL", 7);
	getULElements("mostSearchedProvincesUL", 4);
	getULElements("provincesUL", 7);
	getULElements("mostSearchedIndustriesUL", 3);
	getULElements("industriesUL", 5);
	getULElements("mostSearchedTypesUL", 4);
	getULElements("typesUL", 4);	
	
	getULElements("mostSearchedFranchiseStatesUL", 3);
	getULElements("franchiseStatesUL", 7);
	getULElements("franchiseProvincesUL", 7);
}

window.google_analytics_uacct = "UA-1926061-1";
