function updateFranchiseList(franchiseID,franchiseName,invest,conversionSource,add){
	if(add){
		document.getElementById("request").style.display="block";
		expandFranchiseList();
		//document.getElementById("requestListButton").src = "/images/requestListContract.png";
		addToFranchiseList(franchiseID,franchiseName,invest, conversionSource);
	 }
	else removeFranchiseList(franchiseID);
}
function addToFranchiseList(franchiseID, franchiseName,invest, conversionSource){
	if(franchiseListTotalCount < franchiseListLimit){
		//default loading message	
		oFranchiseList = document.getElementById("requestContent");
		oFranchiseList.innerHTML = "Loading...";

	   //build list of parameters
		var querystring_variables = new Array();
		querystring_variables["franchiseID"] = franchiseID;
		querystring_variables["franchiseName"] = franchiseName;
		querystring_variables["minimumInvest"] = invest;
		querystring_variables["conversionSource"] = conversionSource;
		//make asynchoronous call to get_franchises_json.php
		var bindArgs = {
			url: WEB_HOME + '/includes/siteStructure/ajax/updateFranchiseList.php',
			type: 'text/javascript',
			content: querystring_variables,
			handler: displayFranchiseListResults
		};
		dojo.io.bind(bindArgs);

		if(document.getElementById("check"+franchiseID)) document.getElementById("check"+franchiseID).checked = true; //checkbox
		if(document.getElementById("list"+franchiseID)) {  //highlight listing
			var listingClass = document.getElementById("list"+franchiseID).className;
			listingClass = listingClass.replace(/ selected/, '') + " selected"; //make sure only one instance appears
			document.getElementById("list"+franchiseID).className = listingClass;
		}
	} else {
		alert("You have reached the maximum of "+franchiseListLimit+" selections. To add more franchises, please uncheck selections in your request list.");
		try {
				document.getElementById("check"+franchiseID).checked = false;
			}
			catch(err) {
				//do nothing. This is a non-listings page.
			}
	}

}

function removeFranchiseList(franchiseID){
	//default loading message	
	oFranchiseList = document.getElementById("requestContent");
	oFranchiseList.innerHTML = "Loading...";

	//build list of parameters
	var querystring_variables = new Array();
	querystring_variables["deleteFranchise"] = franchiseID;

	//make asynchoronous call to get_franchises_json.php
	var bindArgs = {
		url: WEB_HOME + '/includes/siteStructure/ajax/updateFranchiseList.php',
		type: 'text/javascript',
		content: querystring_variables,
		handler: displayFranchiseListResults
	};
	dojo.io.bind(bindArgs);
	if(document.getElementById("check"+franchiseID)) document.getElementById("check"+franchiseID).checked = false;
	if(document.getElementById("list"+franchiseID)) {  //highlight listing
		var listingClass = document.getElementById("list"+franchiseID).className;
		listingClass = listingClass.replace(/ selected/, '');
		document.getElementById("list"+franchiseID).className = listingClass;
	}
}

function displayFranchiseListResults(type, data, evt) {
	franchiseListResults = data.parseJSON();
	oFranchiseToggleNumber = document.getElementById("requestListToggleNumber");
	oFranchiseList = document.getElementById("requestContent");
	oFranchiseList.innerHTML = "";
	franchiseListTotalCount = franchiseListResults.count;
	
	//update toggle div item count	
	oFranchiseToggleNumber.innerHTML = franchiseListTotalCount;

	if(franchiseListResults.count > 0){	
		oFranchiseList.innerHTML += "<div class=\"list\"><b>Selection Count:</b> " + franchiseListResults.count + "</div>";
		for (var i=0; i<franchiseListResults.count; i++) {
			var franchiseID = franchiseListResults.franchises[i].id;
			var franchiseName = franchiseListResults.franchises[i].name.replace(/\'/g, "&#39;"); //' 
			var minInvest = franchiseListResults.franchises[i].minInvest;
			var conversionSource = franchiseListResults.franchises[i].conversionSource;
			rstr = "<div class=\"requestlist\"><input type=\"checkbox\" name=\"keys[] \"value=\"" + franchiseID +  "\" onclick=removeFranchiseList(" + franchiseID +") checked=\"checked\">";
			rstr += "<input type=\"hidden\" name=\"conversionSource["+franchiseID+"]\" value=\""+conversionSource+"\" />";
			//Create list for submission
			rstr += "<div class=\"name\"><label for=\""+ franchiseID +"\">" + franchiseName + "</label></div>";
			rstr +="</div>";
			dojo.byId('requestContent').innerHTML += rstr;
		}
		dojo.byId('requestContent').innerHTML += "<br clear=\"left\" /><input type=\"image\" class=\"requestListButton\" src=\"" +WEB_HOME+"/images/requestInfoButton.png\" value=\"Request Information\" title=\"Request Information\" alt=\"Request Information\" id=\"submit\"/>";

		//start suggestions
		if(franchiseListResults.suggestionCount > 0) {
			dojo.byId('requestContent').innerHTML += "<hr /><div class=\"list\">You may also be interested in these franchises:</div>";
			
			//Suggestion List
			for(var j=0; j < franchiseListResults.suggestionCount; j++) {
				var franchiseID = franchiseListResults.suggestions[j].id;
				var franchiseName = franchiseListResults.suggestions[j].name.replace(/\'/g, "&#39;");
				var minInvest = franchiseListResults.suggestions[j].minInvest;
				var conversionSource = "RequestListSuggestion";
				var url = franchiseListResults.suggestions[j].url;
				//Create list for suggestions
				rstr = "<div class=\"requestlist\"><input type=\"checkbox\" name=\"suggestions[] \"value=\"" + franchiseID +  "\" onclick='updateFranchiseList(" + franchiseID +", \""+franchiseName +"\", " + "\"" + minInvest + "\", \""+conversionSource+"\", 1)' />";
				//Create list for submission
				rstr += "<div class=\"name\">";
				rstr += "<label for=\"" +franchiseID+ "\"><a href=\"http://"+window.location.hostname+ url+"suggestionSource=_RequestListSuggestion\">" + franchiseName + "</a></label>";
				if(minInvest > 0) rstr +="<div class=\"invest\">Min. Investment: $"+addCommas(minInvest) + "</div>";
				rstr += "</div>";
				rstr +="</div>";
				dojo.byId('requestContent').innerHTML += rstr;
			}
			dojo.byId('requestContent').innerHTML += "<div class=\"clear\"></div>";
		}
		//end suggestions
	} else {
		dojo.byId('requestContent').innerHTML = "<div class=\"empty\">Your cart is empty.</div>";
	}
}
function toggleFranchiseList(){ 
	if(franchiseListOpen)
		contractFranchiseList();
	else
		expandFranchiseList();
}	
function expandFranchiseList(){
	var oFranchiseList = document.getElementById("request");
	oFranchiseList.style.display = "block";
	oFranchiseList.style.height = "auto";
	
	franchiseListOpen = 1;
	
	oFranchiseList.style.position = "fixed";

	if(!isIE6)
		oFranchiseList.style.position = "fixed";
	if(isIE6){
		window.attachEvent("onscroll", movepanel);//("onscroll",movepanel);
		movepanel();
	}

//build list of parameters
	var querystring_variables = new Array();
	querystring_variables["saveFranchiseListStatus"] = franchiseListOpen;

	//make asynchoronous call to get_franchises_json.php
	var bindArgs = {
		url: WEB_HOME + '/includes/siteStructure/ajax/updateFranchiseList.php',
		type: 'text/javascript',
		content: querystring_variables,
		handler: updateFranchiseListStatus
	};
	dojo.io.bind(bindArgs);
}
function contractFranchiseList(){
	var oFranchiseList = document.getElementById("request");
	oFranchiseList.style.display = "none";

	franchiseListOpen = 0;
	
	//build list of parameters
	var querystring_variables = new Array();
	querystring_variables["saveFranchiseListStatus"] = franchiseListOpen;

	//make asynchoronous call to get_franchises_json.php
	var bindArgs = {
		url: WEB_HOME + '/includes/siteStructure/ajax/updateFranchiseList.php',
		type: 'text/javascript',
		content: querystring_variables,
		handler: updateFranchiseListStatus
	};
	dojo.io.bind(bindArgs);
}

function updateFranchiseListStatus() {
}

var isIE6 = (navigator.appVersion.indexOf("MSIE")!=-1 && parseFloat(navigator.appVersion.substring(navigator.appVersion.indexOf("MSIE")+5))<7);
function movepanel(){
	
	var franchiseListObj = document.getElementById("request");
	var scrollArray = getScrollXY();
	var scrollerOffset = 200;
	var startScroll = 160;
	//alert(scrollArray[1]);
	if(scrollArray[1] < startScroll){
		//franchiseListContentObj.innerHTML = previousSpot + " " + scrollArray[1];
		if(isIE6) {
		} 
		franchiseListObj.style.position = "absolute";
		franchiseListObj.style.top =scrollerOffset + "px";
		previousSpot = scrollerOffset;

	} else {
		//franchiseListContentObj.innerHTML = previousSpot + " " + scrollArray[1];
			if(isIE6) {
				franchiseListObj.style.top = (scrollArray[1] + ( scrollerOffset)) + "px";
			} else{
				franchiseListObj.style.position = "fixed";
				franchiseListObj.style.top = scrollerOffset - startScroll +"px";
				//alert('top is ' + franchiseListObj.style.top);
			}
		previousSpot = scrollArray[1];
	}
}
function getScrollXY() {
	var scrOfX = 0, scrOfY = 0;
	
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	
	var scrollArray = [scrOfX, scrOfY];
	
	return scrollArray;
}
function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}