/********************** DOJO code ***************************/

// groups of franchises
var mySearchResults = null;		// contains the current search results
var tempFranchiseName = "";
var tempFranchiseName = "";
var tempRange = "";
var tempLogoName = "";
var tempTarget = "";
var tempHighestRange = 0;

var currentInvestmentLevels= new Array();

var franchiseListQueue= new Array();
var hideShoppingCart = true;
//used only to prevent re-adding franchises to shopping cart when loading Selector.
var loadingFranchisesInSelector = false; 

var currentQueryID = 0;

/******************** load shopping cart ***************/

function loadFranchiseList(){
   //build (blank) list of parameters
	var querystring_variables = new Array();

	//make asynchoronous call to get_franchises_json.php
	var bindArgs = {
		url: '/Selector/php_includes/load_franchises_jsonV4_Mod09.php',
		type: 'text/javascript',
		content: querystring_variables,
		handler: getCartFranchises
	};
	dojo.io.bind(bindArgs);
}

function getCartFranchises(type, data, evt) {
	var franchiseListResults = data.parseJSON();

	franchiseListTotalCount = franchiseListResults.count;
	var franchiseListInitial = franchiseListResults.franchises;
	var franchiseid = "";
	var franchiseName = "";
	var rangeMin = "";
	var rangeMax = "";
	var logoName = "";
	var target = "drag_target";
	var sMustViewProfile = "";
	var franchiseConversionSource = "";
	var networthMin = "";
	var networthMax = "";
	var totalCapitalMin = "";
	var totalCapitalMax = "";
	var franchiseFinancing = "";
	var franchiseTraining = "";
	var franchiseUSLocations = "";
	var franchiseCanadaAvail = "";
	var franchiseIntlAvail = "";
	var franchiseDescription = "";
	var hltText = "";

	if(franchiseListResults.count > 0){
		loadingFranchisesInSelector = true; //starting Selector loading. Cannot add Selector tiles to shopping cart while this is true.
		for(var i = 0; i < franchiseListTotalCount; i++){
			franchiseid = franchiseListInitial[i].id;
			franchiseName = franchiseListInitial[i].name;
			rangeMin = franchiseListInitial[i].LiquidCapitalMin;
			rangeMax = franchiseListInitial[i].LiquidCapitalMax;
			logoName = franchiseListInitial[i].logoName;
			target = "drag_target";
			sMustViewProfile = franchiseListInitial[i].mustViewProfile;
			franchiseConversionSource = franchiseListInitial[i].conversionSource;
			MoveToFranchiseList(franchiseid, franchiseName, rangeMin, rangeMax, logoName, target, sMustViewProfile, franchiseConversionSource, networthMin, networthMax, totalCapitalMin, totalCapitalMax, franchiseFinancing, franchiseTraining, franchiseUSLocations, franchiseCanadaAvail, franchiseIntlAvail, franchiseDescription, hltText);
		}
		loadingFranchisesInSelector = false; //end Selector loading.
	}
}

/******************** submit form ***********************/
//returns the number of child nodes
function countChildNodes(id) {
	var element = dojo.byId(id);
	var counter = 0;
	for (var i=0; i<element.childNodes.length; i++) {
		if (element.childNodes[i].toString() != "[object Text]") counter++;
	}
	return counter;
}


//returns true if the form should be submitted,
//or false if the user needs to select a franchise.
function request_info() {
	//get information about franchises in drag_target
	if (countChildNodes('drag_target') > 0)
	{
		var fields = getFranchiseFields();
	
		//submit form
		return true;
	}
	else
	{
		//don't submit form
		if (dojo.byId('industry').selectedIndex == 0)
			alert("Please select an industry, then choose at least one franchise.");
		else
			alert("Please choose at least one franchise.");
		return false;
	}
}


//returns true if the specified value is one
//of the values in the specified array of form fields.
function valueInFields(value, fields) {
	for (var i=0; i<fields.length; i++) {
		if (fields[i].value == value) {
			return true;
		}
	}
	return false;
}


// reads selected franchise values into the franchise form fields, and
// returns an array containing the franchise form fields.
function getFranchiseFields() {
	var element = dojo.byId('drag_target');
	var counter = 0;
	var fields = new Array();
	fields[0] = document.contact.franchise1;
	fields[1] = document.contact.franchise2;
	fields[2] = document.contact.franchise3;
	fields[3] = document.contact.franchise4;
	fields[4] = document.contact.franchise5;
	fields[5] = document.contact.franchise6;
	fields[6] = document.contact.franchise7;
	fields[7] = document.contact.franchise8;
	fields[8] = document.contact.franchise9;
	fields[9] = document.contact.franchise10;

	//clear all field values
	for (var i=0; i<fields.length; i++) {
		fields[i].value = "";
	}

//fill in new field values		
	for (var i=0; i<element.childNodes.length; i++) {
		if (element.childNodes[i].toString() != "[object Text]" && !valueInFields(element.childNodes[i].id, fields))
		{
			fields[counter].value = element.childNodes[i].id;
			counter++;
		}
	}
	

	
	return fields;
}

function page_load() {
 	if (document.getElementById("scroll_content").innerHTML == "") 
	 	document.getElementById("start_arrow").style.display = "block";
 }

function changeLocationMenu() {
    var industry = dojo.byId('industry').options[dojo.byId('industry').selectedIndex].value;
	var stateMenu = dojo.byId('state');	
	var state = stateMenu.options[stateMenu.selectedIndex].value;
	
	if(industry == 19)  {
		var list = aSearchLocation[1]; //sans Canada.
		//dojo.byId('state').selectedIndex = 1; //select "All Locations"
		//dojo.byId('state')	.style.display = "none";
	} else {
		var list = aSearchLocation[0];
		//dojo.byId('state')	.style.display = "block";
	}
	
	stateMenu.options.length = 0;
	for(var i=0;i<list.length;i++) {
		stateMenu.options[i] = new Option(list[i][0],list[i][1]);
		if(list[i][1] == state) {
			stateMenu.options[i].selected = true;
		}
	}
	
}

/********************* search ***************************/
function start_search_ind(start_record) {
	//hide_form_error_box();
	dojo.byId("search_results_padding").scrollTop = 0;
	//show "loading" notification
	dojo.byId('loading').className = 'visible';

	// get values from form
    var industry = dojo.byId('industry').options[dojo.byId('industry').selectedIndex].value;
   var subindustry = dojo.byId('subindustry').options[dojo.byId('subindustry').selectedIndex].value;
    var state = dojo.byId('state').options[dojo.byId('state').selectedIndex].value;
	 var investment = dojo.byId('investmentpulldown').options[dojo.byId('investmentpulldown').selectedIndex].value;

    var training = "0";
	//if training is checked, use the value 1
       if (dojo.byId('training').checked) training = "1";
    var financial_assistance = "0";
	//if financial assistance is checked, use the value 1
       if (dojo.byId('financial_assistance').checked) financial_assistance = "1";

    		//var investment = dojo.byId('investment').value;
	    //if the user selects 500K+, act as if the user has a ton of money
	    if (investment == 500000) investment = 100000000;
		//if investment is empty, act as if the user has a ton of money
	    if (investment == "") investment = 100000000;

    //build list of parameters
	var querystring_variables = new Array();
    querystring_variables["industry"] = industry;
	querystring_variables["subindustry"] = 0;
    querystring_variables["investment"] = investment;
    querystring_variables["state"] = state;
    querystring_variables["training"] = training;
    querystring_variables["financial_assistance"] = financial_assistance;
    querystring_variables["start_record"] = start_record;
    

	//make asynchoronous call to get_franchises_json.php
	var bindArgs = {
		url: '/Selector/php_includes/get_franchises_jsonV4_Mod12.php',
		type: 'text/javascript',
        content: querystring_variables,
        handler: display_search_results
	};
	dojo.io.bind(bindArgs); 
}












function start_search(start_record) {
	//hide_form_error_box();
	dojo.byId("search_results_padding").scrollTop = 0;
	//show "loading" notification
	dojo.byId('loading').className = 'visible';

	// get values from form
    var industry = dojo.byId('industry').options[dojo.byId('industry').selectedIndex].value;
	var subindustry = dojo.byId('subindustry').options[dojo.byId('subindustry').selectedIndex].value;
    var state = dojo.byId('state').options[dojo.byId('state').selectedIndex].value;
	var investment = dojo.byId('investmentpulldown').options[dojo.byId('investmentpulldown').selectedIndex].value;

    var training = "0";
	//if training is checked, use the value 1
       if (dojo.byId('training').checked) training = "1";
    var financial_assistance = "0";
	//if financial assistance is checked, use the value 1
       if (dojo.byId('financial_assistance').checked) financial_assistance = "1";

    		//var investment = dojo.byId('investment').value;
	    //if the user selects 500K+, act as if the user has a ton of money
	    if (investment == 500000) investment = 100000000;
		//if investment is empty, act as if the user has a ton of money
	    if (investment == "") investment = 100000000;

    //build list of parameters
	var querystring_variables = new Array();
    querystring_variables["industry"] = industry;
	querystring_variables["subindustry"] = subindustry;
    querystring_variables["investment"] = investment;
    querystring_variables["state"] = state;
    querystring_variables["training"] = training;
    querystring_variables["financial_assistance"] = financial_assistance;
    querystring_variables["start_record"] = start_record;
    

	//make asynchoronous call to get_franchises_json.php
	var bindArgs = {
		url: '/Selector/php_includes/get_franchises_jsonV4_Mod12.php',
		type: 'text/javascript',
        content: querystring_variables,
        handler: display_search_results
	};
	dojo.io.bind(bindArgs); 
}

//shows the appropriate no-results message
//depending on the situation
var firstSearch = true;
function showNoResultsMessage() {
    if (dojo.byId('industry').selectedIndex == 0) {
        //user needs to select an industry to see results
      	dojo.byId('no_industry_msg').className = 'visible';
    }
    else {
        // user selected an industry, but nothing matches
        dojo.byId('no_results_msg').className = 'visible';
    }
}

//shows the "no new search results" message
function showNoNewResultsMessage() {
    dojo.byId('no_new_results_msg').className = 'visible';
}
//hides all no-results messages
function hideNoResultsMessages() {
    dojo.byId('no_results_msg').className = 'invisible';
    dojo.byId('no_new_results_msg').className = 'invisible';
    dojo.byId('no_industry_msg').className = 'invisible';
    dojo.byId('incomplete_parameters_msg').className = 'invisible';
	dojo.byId('msg_anchor').className = 'invisible';

	//reset menu coloring.
	dojo.byId('state').className = "";
	dojo.byId('investmentpulldown').className = "";
}

//displays search results
function display_search_results(type, data, evt) {
	var statedropdown = dojo.byId('state').options[dojo.byId('state').selectedIndex].value;
	var investdropdown = dojo.byId('investmentpulldown').options[dojo.byId('investmentpulldown').selectedIndex].value;
	
	//fill in search results
    purge(dojo.byId('search_results_padding'));
    dojo.byId('search_results_padding').innerHTML = '<div id="scroll_content"></div>';
 	mySearchResults = data.parseJSON();
 	//alert(data);  //for debugging only
 	//were any results returned?
 	hideNoResultsMessages();

	if (mySearchResults.count == 0)
	{
		//show no search results message
 		//showNoResultsMessage();
		dojo.byId('scroll_content').innerHTML = "<div class=\"resultsMessage\"><img src=\"/Selector/images/selectorAlert.gif\" /><p>Sorry, but we didn’t find franchises that meet your exact search criteria. <br/>Below are franchises in your area with a similar investment level.</p></div>";
		var industry = dojo.byId('industry').options[dojo.byId('industry').selectedIndex].value;
		var subindustry = "";
		var state = dojo.byId('state').options[dojo.byId('state').selectedIndex].value;
		var investment = dojo.byId('investmentpulldown').options[dojo.byId('investmentpulldown').selectedIndex].value;
		
		var training = "0";
		//if training is checked, use the value 1
		if (dojo.byId('training').checked) training = "1";
		var financial_assistance = "0";
		//if financial assistance is checked, use the value 1
		if (dojo.byId('financial_assistance').checked) financial_assistance = "1";

    	//var investment = dojo.byId('investment').value;
	    //if the user selects 500K+, act as if the user has a ton of money
	    if (investment == 500000) investment = 100000000;
		//if investment is empty, act as if the user has a ton of money
	    if (investment == "") investment = 100000000;

		var querystring_variables = new Array();
		querystring_variables["industry"] = industry;
		querystring_variables["subindustry"] = subindustry;
		querystring_variables["investment"] = investment;
		querystring_variables["state"] = state;
		querystring_variables["training"] = training;
		querystring_variables["financial_assistance"] = financial_assistance;
		querystring_variables["start_record"] = 0;
		querystring_variables["extend_search"] = "true";
	
		//make asynchoronous call to get_franchises_json.php
		var bindArgs = {
			url: '/Selector/php_includes/get_franchises_jsonV4_Mod12.php',
			type: 'text/javascript',
			content: querystring_variables,
			handler: display_additional_results
		};
		dojo.io.bind(bindArgs); 
	
 	}
 	else
	{
		/// START SELECTOR Q TRACKING ///
		try {
			var qID = mySearchResults.qid;
			if(!isNaN(qID)) { //qID is a number
				//var cleanConversionSourceArr = conversionSource.split("_q"); //excise old ID
				//conversionSource = cleanConversionSourceArr[0] + "_q" + qID;
				currentQueryID = qID;
			}
		} catch(e) {
			
		}
		/// END SELECTOR Q TRACKING ///
		
		var pageCount = Math.ceil(mySearchResults.totalCount / 32);
		var fromCurrentPageSet = mySearchResults.nextSubset - 31;
		var toCurrentPageSet;
		
		if(mySearchResults.nextSubset < mySearchResults.totalCount){
			toCurrentPageSet = mySearchResults.nextSubset;
		} else {
			toCurrentPageSet = mySearchResults.totalCount;
		}
		
		dojo.byId('search_results_count').innerHTML = fromCurrentPageSet + " - " + toCurrentPageSet + " of " + mySearchResults.totalCount;

		
	    //count the number of franchises displayed
	    var displayed = 0;
	
		//get selected franchises
		var selected_franchises = getFranchiseFields();
	
		//show search results
		var search;
		
		
 		for (var i=0; i<mySearchResults.count; i++) {
			var franchiseid = mySearchResults.franchises[i].id;
			var sMustViewProfile = mySearchResults.franchises[i].mustViewProfile;
			var franchiseName = mySearchResults.franchises[i].name.replace(/\'/g, "&#39;");
			
			if (franchiseid != null)
			{

//is this franchise selected yet?
 				var already_selected = valueInFields(franchiseid, selected_franchises);
 				
				
				
 				if (!already_selected) {
					
					

					var rangeMin = mySearchResults.franchises[i].LiquidCapitalMin;
					var rangeMax = mySearchResults.franchises[i].LiquidCapitalMax;
					var logoName = mySearchResults.franchises[i].logoName;
					
					
					var networthMin = mySearchResults.franchises[i].NetWorthMin;
					var networthMax = mySearchResults.franchises[i].NetWorthMax;
					var totalCapitalMin = mySearchResults.franchises[i].TotalCapitalMin;
					var totalCapitalMax = mySearchResults.franchises[i].TotalCapitalMax;
					var franchiseFinancing = mySearchResults.franchises[i].financing;
					var franchiseTraining = mySearchResults.franchises[i].training;
					var franchiseUSLocations = mySearchResults.franchises[i].USLocationCount;
					var franchiseCanadaAvail = mySearchResults.franchises[i].CanadaLocationAvailable;
					var franchiseIntlAvail = mySearchResults.franchises[i].IntlLocationAvailable;
					var franchiseDescription = sanitizeJSText(mySearchResults.franchises[i].description);
					
					var hltPhone = mySearchResults.franchises[i].hltPhone;
					var hltActive = mySearchResults.franchises[i].hltActive;
					var hltText1 = mySearchResults.franchises[i].hltText1;
					var hltText2 = mySearchResults.franchises[i].hltText2;
					
					var hltText = "";
					
					if(hltActive == 1){
						hltText = "<strong>Call Now:</strong> " + hltPhone;						
					}
					
					
					//create franchise div - ID will be used by request more info form
					var franchise = document.createElement('div');
					franchise.setAttribute('id', franchiseid);

					//function CreateTile(franchise, franchiseid, franchiseName, rangeMin, rangeMax, logoName, action, sMustViewProfile, networthMin, networthMax, totalCapitalMin, totalCapitalMax, franchiseFinancing, franchiseTraining, franchiseUSLocations, franchiseCanadaAvail, franchiseIntlAvail, franchiseDescription, hltText
					CreateTile(franchise, franchiseid, franchiseName, rangeMin, rangeMax, logoName, "add", sMustViewProfile, networthMin, networthMax, totalCapitalMin, totalCapitalMax, franchiseFinancing, franchiseTraining, franchiseUSLocations, franchiseCanadaAvail, franchiseIntlAvail, franchiseDescription, hltText);
					
					//attach to search results and make draggable
					dojo.byId('scroll_content').appendChild(franchise);
					//var source = new dojo.dnd.HtmlDragSource(franchise, "franchise");
					//source.onDragEnd = dragEnd;

                    


			

		        		
		            displayed++;
		        }
			}
 		}

		if (mySearchResults.lastSet != false) {
		 	//var nextSetButton = document.createElement('div');
		 	//nextSetButton.setAttribute("id", "moreResults_button");
			//nextSetButton.innerHTML = '<a href="#" onclick="start_search(' + mySearchResults.nextSubset + ')">More Results</a>';
			//dojo.byId('scroll_content').appendChild(nextSetButton);
		}
		




		var paginationSet = document.createElement('div');
		paginationSet.setAttribute("id", "paginationSetContainer");
			
		var paginationNumbers = "";	
		var startSearchIncrement = 0;
		
		if(mySearchResults.nextSubset > 32){ //we show 32 results per page.  so in order to go back one set, we take the next set, minus two "pages"
			paginationNumbers +=  '<a href="#" onclick="start_search(' + (mySearchResults.nextSubset - (64)) + ')">Prev</a>' + " &nbsp; ";
		} 
		
		for(var n = 1; n <= pageCount; n++) {
			

			if((mySearchResults.nextSubset - 32) == startSearchIncrement){
					paginationNumbers += "<b>";
			}
			
			paginationNumbers +=  '<a href="#" onclick="start_search(' + startSearchIncrement + ')">' +  n  + '</a>' + " ";
			
			if((mySearchResults.nextSubset - 32) == startSearchIncrement){
					paginationNumbers += "</b>";
			}
			
			startSearchIncrement += 32;
		}		
		
		if(mySearchResults.nextSubset < mySearchResults.totalCount){
			paginationNumbers +=   " &nbsp; " + '<a href="#" onclick="start_search(' + mySearchResults.nextSubset + ')">Next</a>';
		} 
		
		paginationSet.innerHTML = paginationNumbers;
			
		dojo.byId('paginationContainer').innerHTML = "";	
		dojo.byId('paginationContainer').appendChild(paginationSet);

			
		
 		
 		//if results were returned but all of them were suppressed
 		//due to already being selected...
 		if (displayed == 0) {
 		    //show message "no new results"
 		    showNoNewResultsMessage();
 		}
	}

 	//hide "loading" notification
	dojo.byId('loading').className = 'invisible';
	if (dojo.byId('scroll_content') != null && dojo.byId('scroll_content').innerHTML == "")
		document.getElementById("start_arrow").style.display = "block";
	else
		document.getElementById("start_arrow").style.display = "none";
    firstSearch = false;
}


function display_additional_results(type, data, evt) {
	var statedropdown = dojo.byId('state').options[dojo.byId('state').selectedIndex].value;
	var investdropdown = dojo.byId('investmentpulldown').options[dojo.byId('investmentpulldown').selectedIndex].value;
	
	//fill in search results
    purge(dojo.byId('search_results_padding'));
    //dojo.byId('search_results_padding').innerHTML = '<div id="scroll_content"></div>';
 	mySearchResults = data.parseJSON();
 	//alert(data);  //for debugging only
 	//were any results returned?
 	//hideNoResultsMessages();
		
		/// START SELECTOR Q TRACKING ///
		try {
			var qID = mySearchResults.qid;
			if(!isNaN(qID)) { //qID is a number
				//var cleanConversionSourceArr = conversionSource.split("_q"); //excise old ID
				//conversionSource = cleanConversionSourceArr[0] + "_q" + qID;
				currentQueryID = qID;
			}
		} catch(e) {
			
		}
		/// END SELECTOR Q TRACKING ///

		var pageCount = 1;
		var fromCurrentPageSet = 1;
		var toCurrentPageSet = mySearchResults.count;
		//only put the count because we display only 100 results on this page. we don't want to show the total count because they will never be able to see "all" of them
		dojo.byId('search_results_count').innerHTML = fromCurrentPageSet + " - " + toCurrentPageSet + " of " + mySearchResults.count;

	    //count the number of franchises displayed
	    var displayed = 0;
	
		//get selected franchises
		var selected_franchises = getFranchiseFields();
	
		//show search results
		var search;
		
 		for (var i=0; i<mySearchResults.count; i++) {
			var franchiseid = mySearchResults.franchises[i].id;
			var sMustViewProfile = mySearchResults.franchises[i].mustViewProfile;
			var franchiseName = mySearchResults.franchises[i].name.replace(/\'/g, "&#39;");
			
			if (franchiseid != null)
			{

//is this franchise selected yet?
 				var already_selected = valueInFields(franchiseid, selected_franchises);
				
 				if (!already_selected) {

					var rangeMin = mySearchResults.franchises[i].LiquidCapitalMin;
					var rangeMax = mySearchResults.franchises[i].LiquidCapitalMax;
					var logoName = mySearchResults.franchises[i].logoName;
					
					var networthMin = mySearchResults.franchises[i].NetWorthMin;
					var networthMax = mySearchResults.franchises[i].NetWorthMax;
					var totalCapitalMin = mySearchResults.franchises[i].TotalCapitalMin;
					var totalCapitalMax = mySearchResults.franchises[i].TotalCapitalMax;
					var franchiseFinancing = mySearchResults.franchises[i].financing;
					var franchiseTraining = mySearchResults.franchises[i].training;
					var franchiseUSLocations = mySearchResults.franchises[i].USLocationCount;
					var franchiseCanadaAvail = mySearchResults.franchises[i].CanadaLocationAvailable;
					var franchiseIntlAvail = mySearchResults.franchises[i].IntlLocationAvailable;
					var franchiseDescription = sanitizeJSText(mySearchResults.franchises[i].description);
					
					var hltPhone = mySearchResults.franchises[i].hltPhone;
					var hltActive = mySearchResults.franchises[i].hltActive;
					var hltText1 = mySearchResults.franchises[i].hltText1;
					var hltText2 = mySearchResults.franchises[i].hltText2;
					
					var hltText = "";
					
					if(hltActive == 1){
						hltText = "<strong>Call Now:</strong> " + hltPhone;						
					}

					
					//create franchise div - ID will be used by request more info form
					var franchise = document.createElement('div');
					franchise.setAttribute('id', franchiseid);
			
					//function CreateTile(franchise, franchiseid, franchiseName, rangeMin, rangeMax, logoName, action, sMustViewProfile, networthMin, networthMax, totalCapitalMin, totalCapitalMax, franchiseFinancing, franchiseTraining, franchiseUSLocations, franchiseCanadaAvail, franchiseIntlAvail, franchiseDescription, hltText
					CreateTile(franchise, franchiseid, franchiseName, rangeMin, rangeMax, logoName, "add", sMustViewProfile, networthMin, networthMax, totalCapitalMin, totalCapitalMax, franchiseFinancing, franchiseTraining, franchiseUSLocations, franchiseCanadaAvail, franchiseIntlAvail, franchiseDescription, hltText);
					
					//attach to search results and make draggable
					dojo.byId('scroll_content').appendChild(franchise);
					//var source = new dojo.dnd.HtmlDragSource(franchise, "franchise");
					//source.onDragEnd = dragEnd;
	        		
		            displayed++;
		        }
			}
 		}

			
		dojo.byId('paginationContainer').innerHTML = "";	
 		
 		//if results were returned but all of them were suppressed
 		//due to already being selected...
 		if (displayed == 0) {
 		    //show message "no new results"
 		    showNoNewResultsMessage();
 		}
	
 	//hide "loading" notification
	dojo.byId('loading').className = 'invisible';
	if (dojo.byId('scroll_content') != null && dojo.byId('scroll_content').innerHTML == "")
		document.getElementById("start_arrow").style.display = "block";
	else
		document.getElementById("start_arrow").style.display = "none";
    firstSearch = false;
}

function CreateTile(franchise, franchiseid, franchiseName, rangeMin, rangeMax, logoName, action, sMustViewProfile, networthMin, networthMax, totalCapitalMin, totalCapitalMax, franchiseFinancing, franchiseTraining, franchiseUSLocations, franchiseCanadaAvail, franchiseIntlAvail, franchiseDescription, hltText){
	
	/*
	10/28/2009 TESTING OVERRIDE - DISABLE MVP
	*/
	var sMustViewProfile = 0;
	/*
	10/28/2009 TESTING OVERRIDE - DISABLE MVP
	*/
	
	var targetLocation = "";
	var actionText = "";



	if(action == "add"){
		targetLocation = "drag_target";
	var profileLinkText = "<img src='/Selector/images/btn-tile-Details.gif' border='0' style='margin-right:2px;'>";
		actionText = "<img src='/Selector/images/btn-tile-Add-To-Cart.gif' border='0'>";
	} else if(action == "remove") {
		targetLocation = "scroll_content";
	var profileLinkText = "Details";
		actionText = "Remove";	
	}


	franchiseName = franchiseName.replace(/\'/g, "&#39;");
	//changed by lexine july 2007, to shorten suuuuper long name - will fix later
	if(franchiseName=="Cruise Planners Franchising LLC American Express") franchiseName = "Cruise Planners/AMEX";
	franchiseDescription = sanitizeJSText(franchiseDescription);
	
	//Create Action button
	var oActionButton = document.createElement('div');
	oActionButton.setAttribute('id', franchiseid + "ActionButton");
	oActionButton.className = 'ActionButton';



	if(action == "add") {
		franchise.className = 'inline draggable_franchise';
		//create franchise padding div
		var franchisepadding = document.createElement('div');
		franchisepadding.className = 'franchise_padding';
		franchise.appendChild(franchisepadding);



		if(sMustViewProfile){
			oActionButton.innerHTML += "<div id=\"details_link\"><a href='javascript:(getProfile(\"" + franchiseid + "\", \"" + franchiseName +"\", \"" + rangeMin +"\", \"" + rangeMax +"\", \"" + logoName +"\",\"" + targetLocation +"\"));'>" + profileLinkText + "</a><a href='javascript:(getProfile(\"" + franchiseid + "\", \"" + franchiseName +"\", \"" + rangeMin +"\", \"" + rangeMax +"\", \"" + logoName +"\",\"" + targetLocation +"\"));'>" + 	actionText +"</a></div>";				
		} else {
			oActionButton.innerHTML += "<div id=\"details_link\"><a href='javascript:(getProfile(\"" + franchiseid + "\", \"" + franchiseName +"\", \"" + rangeMin +"\", \"" + rangeMax +"\", \"" + logoName +"\",\"" + targetLocation +"\"));'>" + profileLinkText + "</a><a href='javascript:(MoveToFranchiseList(\"" + franchiseid + "\", \"" + franchiseName +"\", \"" + rangeMin +"\", \"" + rangeMax +"\", \"" + logoName +"\",\"" + targetLocation +"\",\"" + sMustViewProfile +"\", \"\", \"" + networthMin +"\",\"" + networthMax +"\",\"" + totalCapitalMin +"\",\"" + totalCapitalMax +"\",\"" + franchiseFinancing +"\",\"" + franchiseTraining +"\",\"" + franchiseUSLocations +"\",\"" + franchiseCanadaAvail +"\",\"" + franchiseIntlAvail +"\",\"" + franchiseDescription +"\",\"" + hltText +"\"));'>" + 	actionText +"</a></div>";	
		}
		

	}

	if(action == "remove") {
		franchise.className = 'inline draggable_franchise_lite';
	//create franchise padding div
		var franchisepadding = document.createElement('div');
		franchisepadding.setAttribute('id', franchiseid+'CartTile');
		franchisepadding.className = 'franchise_padding_lite';
		franchise.appendChild(franchisepadding);
	
	}

	
	franchise.appendChild(oActionButton);
	
	var imageID = franchiseid;
	if (imageID < 100 && imageID > 9) // 2 digit id; append one 0
		imageID = "0" + imageID.toString();
	else if (imageID < 10)
		imageID = "00" + imageID.toString();		
	
	var LiquidCapitalRange = getRangeOrDollarAmount(rangeMin, rangeMax);
	if(LiquidCapitalRange == "") {LiquidCapitalRange = "None"; }
	var franchiseAvailableAreas = "";
	
	if(franchiseUSLocations > 0){
		franchiseAvailableAreas += franchiseUSLocations + " US Locations";
	}
	
	if(franchiseCanadaAvail == 0 && franchiseIntlAvail == 0){
		franchiseAvailableAreas +=  ", Canada, and International";
	} else if(franchiseCanadaAvail == 0 && franchiseIntlAvail == 1){
		franchiseAvailableAreas +=  " and Canada";
	} else if(franchiseCanadaAvail == 1 && franchiseIntlAvail == 0){
		franchiseAvailableAreas +=  " and International; Except Canada";
	}
	
	var franchiseHLTNumberText = "";
	
	if(hltText != ""){
		franchiseHLTNumberText = "<div div style='margin:5px 13px 0px 13px; text-align:center; padding:10px; background-color:#cfdac3; border:3px solid #55792a;'>" + hltText +"</div>";	
	}
		
	var popSummaryBody = "<table cellpadding='0' cellspacing='0' border='0' style='background-image:url(/Selector/images/popup-summary-footer.gif); background-position:bottom; background-repeat:no-repeat;'><tr><td style='font-size:12px; color:#000000; line-height:14px;'><div style='margin:5px 13px 0px 13px;'>" +  franchiseDescription + "</div><table cellpadding='0' cellspacing='0' border='0' style='margin-left:13px; padding-top:7px; margin-bottom:10px;'><tr><td style='width:146px; font-size:12px; color:#000000; line-height:14px;'><p><strong>Liquid Capital Required:</strong><br>" + LiquidCapitalRange + "</p></td><td  style='width:154px; font-size:12px; color:#000000; line-height:14px;'><p><strong>Available Areas:</strong><br>" + franchiseAvailableAreas + "</p></td></tr></table></td></tr><tr><td height='27'>&nbsp;</td></tr></table>";
	var popSummaryText = " title=\"cssbody=[summaryBody] cssheader=[summaryHeader] offsetx=[0] header=[<div style='padding:8px 0px 0px 25px; font-size:14px; color:#000000;'>" + franchiseName +"</div>] body=[" + popSummaryBody + "]\" ";
	
	
	if(action == "add") {
		
		
		if(sMustViewProfile){
			franchisepadding.innerHTML += "<a href='javascript:(getProfile(\"" + franchiseid + "\", \"" + franchiseName +"\", \"" + rangeMin +"\", \"" + rangeMax +"\",\"" + logoName +"\",\"" + targetLocation +"\"));' ><img src=\"https://www.franchisegator.com/images/sponsors/" + imageID + "/" + logoName + "\" border=\"0\"  " + popSummaryText + " /></a><a href='javascript:(getProfile(\"" + franchiseid + "\", \"" + franchiseName +"\", \"" + rangeMin +"\", \"" + rangeMax +"\", \"" + logoName +"\",\"" + targetLocation +"\"));'  " + popSummaryText + ">" + franchiseName + "</a>";
		} else {
			franchisepadding.innerHTML += "<a href='javascript:(MoveToFranchiseList(\"" + franchiseid + "\", \"" + franchiseName +"\", \"" + rangeMin +"\", \"" + rangeMax +"\",\"" + logoName +"\",\"" + targetLocation +"\",\"" + sMustViewProfile +"\", \"\", \"" + networthMin +"\",\"" + networthMax +"\",\"" + totalCapitalMin +"\",\"" + totalCapitalMax +"\",\"" + franchiseFinancing +"\",\"" + franchiseTraining +"\",\"" + franchiseUSLocations +"\",\"" + franchiseCanadaAvail +"\",\"" + franchiseIntlAvail +"\",\"" + franchiseDescription +"\",\"" + hltText +"\"));'><img src=\"https://www.franchisegator.com/images/sponsors/" + imageID + "/" + logoName + "\" border=\"0\"  " + popSummaryText + " /></a><a href='javascript:(MoveToFranchiseList(\"" + franchiseid + "\", \"" + franchiseName +"\", \"" + rangeMin +"\", \"" + rangeMax +"\", \"" + logoName +"\",\"" + targetLocation +"\",\"" + sMustViewProfile +"\", \"\", \"" + networthMin +"\",\"" + networthMax +"\",\"" + totalCapitalMin +"\",\"" + totalCapitalMax +"\",\"" + franchiseFinancing +"\",\"" + franchiseTraining +"\",\"" + franchiseUSLocations +"\",\"" + franchiseCanadaAvail +"\",\"" + franchiseIntlAvail +"\",\"" + franchiseDescription +"\",\"" + hltText +"\"));' " +  popSummaryText + ">" + franchiseName + "</a>";
		}		
		
		
	} else if(action == "remove") { 
		var cashRequiredString = "";

		if(rangeMin != 0){
			cashRequiredString = "Cash Required: " + getRangeOrDollarAmount(rangeMin, rangeMax);	
		}
		
		
		franchisepadding.innerHTML += "<a href='javascript:(getProfile(\"" + franchiseid + "\", \"" + franchiseName +"\", \"" + rangeMin +"\", \"" + rangeMax +"\", \"" + logoName +"\",\"" + targetLocation +"\",\"" + sMustViewProfile +"\"));'><img src=\"https://www.franchisegator.com/images/sponsors/" + imageID + "/" + logoName + "\" border=\"0\" alt=\"" + franchiseName +"\" style=\"display:block;\" /></a> <a href='javascript:(getProfile(\"" + franchiseid + "\", \"" + franchiseName +"\", \"" + rangeMin +"\", \"" + rangeMax +"\", \"" + logoName +"\",\"" + targetLocation +"\",\"" + sMustViewProfile +"\"));'>"+profileLinkText+"</a>  |  <a href='javascript:(MoveToFranchiseList(\"" + franchiseid + "\", \"" + franchiseName +"\", \"" + rangeMin +"\", \"" + rangeMax +"\", \"" + logoName +"\",\"" + targetLocation +"\",\"" + sMustViewProfile +"\", \"\", \"" + networthMin +"\",\"" + networthMax +"\",\"" + totalCapitalMin +"\",\"" + totalCapitalMax +"\",\"" + franchiseFinancing +"\",\"" + franchiseTraining +"\",\"" + franchiseUSLocations +"\",\"" + franchiseCanadaAvail +"\",\"" + franchiseIntlAvail +"\",\"" + franchiseDescription +"\",\"" + hltText +"\"));'>" + actionText +"</a>";
		
		
		//franchisepadding.innerHTML += "<div style=\"height:60px;\"><span style='font-size:10px; font-weight:bold;'>" + franchiseName + "</span><br><span style='font-size:10px; font-weight:normal;'>" + cashRequiredString + "</span></div> <a href='javascript:(getProfile(\"" + franchiseid + "\", \"" + franchiseName +"\", \"" + rangeMin +"\", \"" + rangeMax +"\", \"" + logoName +"\",\"" + targetLocation +"\",\"" + sMustViewProfile +"\"));'>"+profileLinkText+"</a>  |  <a href='javascript:(MoveToFranchiseList(\"" + franchiseid + "\", \"" + franchiseName +"\", \"" + rangeMin +"\", \"" + rangeMax +"\",\"" + logoName +"\",\"" + targetLocation +"\",\"" + sMustViewProfile +"\"));'>" + actionText +"</a>";	
		

		
		
	}



	if(action == "add") {
		//franchisepadding.innerHTML += "<br/>" + getRangeOrDollarAmount(rangeMin, rangeMax);	
	}


		
}

//franchiseid, franchiseName, rangeMin, rangeMax, logoName, target, sMustViewProfile, franchiseConversionSource, networthMin, networthMax, totalCapitalMin, totalCapitalMax, franchiseFinancing, franchiseTraining, franchiseUSLocations, franchiseCanadaAvail, franchiseIntlAvail, franchiseDescription, hltText
function MoveToFranchiseList(franchiseid, franchiseName, rangeMin, rangeMax, logoName, target, sMustViewProfile, franchiseConversionSource, networthMin, networthMax, totalCapitalMin, totalCapitalMax, franchiseFinancing, franchiseTraining, franchiseUSLocations, franchiseCanadaAvail, franchiseIntlAvail, franchiseDescription, hltText){
	
	
	
	if(!franchiseConversionSource)
		franchiseConversionSource = conversionSource; //conversionSource set in main 09_01.php file.
		
	dojo.byId('drag_target_label').style.display = "none";
	var oFranchiseObject = document.getElementById(franchiseid);

	try {
	//check if franchise div exists. If it does, the property is accessible.
	var testExist = oFranchiseObject.id;
	} catch(e) {
		//if error is thrown, create new franchise div 
		//RETURN HERE!
		oFranchiseObject = document.createElement('div');
		oFranchiseObject.setAttribute('id', franchiseid);
	}
	
	var CurrentCount = countChildNodes('drag_target');

	var action = "";
	if(target == "drag_target") { 
		action = "remove"; 
		
		//dojo.byId('highestInvestmentContainer').style.display = "block";
		
		range = parseInt(rangeMin);
		tempHighestRange = parseInt(tempHighestRange);


		if(range > tempHighestRange){
			//alert("in con" +  range)
			tempHighestRange = range;
			dojo.byId('highestInvestmentText').innerHTML = getRangeOrDollarAmount(tempHighestRange);		
			DisplayLiquidCapital();
		} else if(range == 0){
			dojo.byId('highestInvestmentText').innerHTML = getRangeOrDollarAmount(tempHighestRange);	
			DisplayLiquidCapital();
		}

		
	} else if(target == "scroll_content"){ 
		action = "add"; 
		range = parseInt(rangeMin);
		if(range == 0){
			dojo.byId('highestInvestmentText').innerHTML = getRangeOrDollarAmount(range);
			DisplayLiquidCapital();
		}

	}
	
	if(action == "remove"){
		if(franchiseListQueue.length < sponsorSelectionLimit){
						
						
						
						
			var doesExist = false;
			
			
			/* Check if franchise already exists */
			if(franchiseListQueue.length){	
		
				for(var i = 0; i < franchiseListQueue.length; i++){
					if(franchiseListQueue[i][0] == franchiseid){
						doesExist = true;
					}
				}
			}
			
			
			if(!doesExist){
				
				var aNewFranchise =  [[franchiseid], [franchiseName], [rangeMin], [franchiseConversionSource]];
				franchiseListQueue.push(aNewFranchise);
				
				var franchiseListExtras = new Object();
				if(currentQueryID > 0) //only adds during testing.
					franchiseListExtras.queryID = currentQueryID;
				
				if(!loadingFranchisesInSelector)
					updateFranchiseList(franchiseid,franchiseName,franchiseConversionSource,1, franchiseListExtras);	//updates universal shopping cart in $_SESSION. Adds.
				/* Display Array Length */
				if(franchiseListQueue.length){
					
					//Reset List
					dojo.byId('FranchiseKeyList').innerHTML = "";
					dojo.byId('ConversionSourceList').innerHTML = "";
					
					//Generate Franchise List		
					for(var z = 0; z < franchiseListQueue.length; z++){	
	
						
						//Create list for submission
						if (document.all) {
							var typeArray = document.createElement("<input type=checkbox name=key[] value=" + franchiseListQueue[z][0] +  " checked>");
							dojo.byId('FranchiseKeyList').appendChild(typeArray);
							var conversionSourceArray = document.createElement("<input type=\"hidden\" name=\"conversionSource["+  franchiseListQueue[z][0]+"] \"value=\"" + franchiseListQueue[z][3] +  "\" />");
							dojo.byId('ConversionSourceList').appendChild(conversionSourceArray);
						} else {
							var typeArray = document.createElement('input');
							typeArray.setAttribute("name", "key[]");
							typeArray.setAttribute("type", "checkbox");
							typeArray.setAttribute("value", franchiseListQueue[z][0]);
							dojo.byId('FranchiseKeyList').appendChild(typeArray);
							typeArray.setAttribute("checked", true);
							
							var conversionSourceArray = document.createElement('input');
							conversionSourceArray.setAttribute("name", "conversionSource["+ franchiseListQueue[z][0]+"]");
							conversionSourceArray.setAttribute("type", "hidden");
							conversionSourceArray.setAttribute("value", franchiseListQueue[z][3]);
							dojo.byId('ConversionSourceList').appendChild(conversionSourceArray);
						}

						dojo.byId('FranchiseKeyList').innerHTML += franchiseListQueue[z][1];
						dojo.byId('FranchiseKeyList').innerHTML += "<br />";
					}
					//dojo.byId('FranchiseListCount').innerHTML = franchiseListQueue.length + " of 10";
	
				}
			}
		}	else {
			alert("You have selected the maximum number of franchise selections");
		}
	} else if(action == "add"){
		
		

		for(var i = 0; i < franchiseListQueue.length; i++){
			if(franchiseListQueue[i][0] == franchiseid){
				franchiseListQueue.splice(i, 1);
				updateFranchiseList(franchiseid,franchiseName,conversionSource,0);	//updates universal shopping cart in $_SESSION. Deletes.
			}
		}
		
			dojo.byId('FranchiseKeyList').innerHTML = "";
			dojo.byId('ConversionSourceList').innerHTML = "";
		
		/* Display Array Length */
		if(franchiseListQueue.length){
			
			//Reset List
	
			
			//Generate Franchise List		
			for(var z = 0; z < franchiseListQueue.length; z++){	
	
						if (document.all) {
							var typeArray = document.createElement("<input type=checkbox name=key[] value=" + franchiseListQueue[z][0] +  " checked>");
							dojo.byId('FranchiseKeyList').appendChild(typeArray);
							var conversionSourceArray = document.createElement("<input type=\"hidden\" name=\"conversionSource["+  franchiseListQueue[z][0]+"] \"value=\"" + franchiseListQueue[z][3] +  "\" />");
							dojo.byId('ConversionSourceList').appendChild(conversionSourceArray);
						} else {
							var typeArray = document.createElement('input');
							typeArray.setAttribute("name", "key[]");
							typeArray.setAttribute("type", "checkbox");
							typeArray.setAttribute("value", franchiseListQueue[z][0]);
							dojo.byId('FranchiseKeyList').appendChild(typeArray);
							typeArray.setAttribute("checked", true);
							
							var conversionSourceArray = document.createElement('input');
							conversionSourceArray.setAttribute("name", "conversionSource["+ franchiseListQueue[z][0]+"]");
							conversionSourceArray.setAttribute("type", "hidden");
							conversionSourceArray.setAttribute("value", franchiseListQueue[z][3]);
							dojo.byId('ConversionSourceList').appendChild(conversionSourceArray);
						}

						dojo.byId('FranchiseKeyList').innerHTML += franchiseListQueue[z][1];
						dojo.byId('FranchiseKeyList').innerHTML += "<br />";
			}
			
			
			

			tempHighestRange = parseInt(tempHighestRange);
			tempHighestRange = 0;
			dojo.byId('highestInvestmentText').innerHTML = getRangeOrDollarAmount(tempHighestRange);	
			DisplayLiquidCapital();
			for(var z = 0; z < franchiseListQueue.length; z++){

				currHighestRange = franchiseListQueue[z][2];
				currHighestRange = parseInt(currHighestRange);
				tempHighestRange = parseInt(tempHighestRange);
				if(currHighestRange > tempHighestRange){
					tempHighestRange = currHighestRange;
					dojo.byId('highestInvestmentText').innerHTML = getRangeOrDollarAmount(tempHighestRange);	
					DisplayLiquidCapital();
				}
			}
		} else {
			tempHighestRange = 0;	
			dojo.byId('highestInvestmentText').innerHTML = getRangeOrDollarAmount(tempHighestRange);	
			DisplayLiquidCapital();
		}
		
		
		
	}

	if(CurrentCount < sponsorSelectionLimit || target == "scroll_content"){
		if(target == "scroll_content") {
			//Case: franchises preloaded into Selector, and user removes them from the list. Should appear in main window with no error msgs.
			hideNoResultsMessages();
		} /*else {
			//Case: franchises preloaded into Selector, user removes them, and returns them to selection list. Err msg should reappear.
			var statedropdown = dojo.byId('state').options[dojo.byId('state').selectedIndex].value;
			var investdropdown = dojo.byId('investmentpulldown').options[dojo.byId('investmentpulldown').selectedIndex].value;
	
			//check location and/or investment level is selected.
			if(statedropdown == "" || investdropdown == 0) {
				showIncompleteParamMessage(); 
			}
		}*/
		
		dojo.byId(target).appendChild(oFranchiseObject);
		oFranchiseObject.innerHTML = "";

		if(franchiseName != ""){
			//function CreateTile(franchise, franchiseid, franchiseName, rangeMin, rangeMax, logoName, action, sMustViewProfile, networthMin, networthMax, totalCapitalMin, totalCapitalMax, franchiseFinancing, franchiseTraining, franchiseUSLocations, franchiseCanadaAvail, franchiseIntlAvail, franchiseDescription, hltText
			CreateTile(oFranchiseObject, franchiseid, franchiseName, rangeMin, rangeMax, logoName, action, sMustViewProfile, networthMin, networthMax, totalCapitalMin, totalCapitalMax, franchiseFinancing, franchiseTraining, franchiseUSLocations, franchiseCanadaAvail, franchiseIntlAvail, franchiseDescription, hltText);
		}
	}

	var NewCount = countChildNodes('drag_target');
	if(NewCount > 0){
		if(NewCount < 2){
			var itemsText = "item "
		}	else {
			var itemsText = "items "
		}
		dojo.byId('FranchiseCountContainer').className = 'FranchiseCountContainer_on';
				dojo.byId('FranchiseCounterText').innerHTML = NewCount + " " + itemsText + " selected";   
				

		animateLabel();
   	} else {
		dojo.byId('drag_target_count').innerHTML = "";
				dojo.byId('FranchiseCountContainer').className = 'FranchiseCountContainer_off';
		dojo.byId('FranchiseCounterText').innerHTML = "0 items selected"; 
		//dojo.byId('highestInvestmentContainer').style.display = "block";
	}
	

}

// purges event-handlers from DOM objects to prevent memory leaks in IE
// it doesn't actually seem to help, but i'm leaving it anyway.
function purge(d) {
    var a = d.attributes, i, l, n;
    if (a) {
        l = a.length;
        for (i = 0; i < l; i += 1) {
            n = a[i].name;
            if (typeof d[n] === 'function') {
                d[n] = null;
            }
        }
    }
    a = d.childNodes;
    if (a) {
        l = a.length;
        for (i = 0; i < l; i += 1) {
            purge(d.childNodes[i]);
        }
    }
}

function getProfile(franchiseid, franchiseName, rangeMin, rangeMax, logoName, target) {
	var oGrayOutWindow = document.getElementById("grayOutWindow");
	var oProfileDescription = document.getElementById("profileDescription");
	
	var oIndustryDropDown = document.getElementById("industry");
	var oSubIndustryDropDown = document.getElementById("subindustry");
	var oStateDropDown = document.getElementById("state");
	var oInvestmentDropDown = document.getElementById("investmentpulldown");
	
	//var oCountryDropDown = document.getElementById("country");
	//var oStateSelectorDropDown = document.getElementById("stateSelector");
	var oCapitalDropDown = document.getElementById("capital");
	var oTimeFrameDropDown = document.getElementById("timeFrame");
	var oGeoDropDown = document.getElementById("geo");
	//var oDayDropDown = document.getElementById("day");
	


	if(isMinIE6){
		oIndustryDropDown.style.display = "none";
		oSubIndustryDropDown.style.display = "none";
		oStateDropDown.style.display = "none";
		oInvestmentDropDown.style.display = "none";
		
		//oCountryDropDown.style.display = "none";
		//oStateSelectorDropDown.style.display = "none";
		oCapitalDropDown.style.display = "none";
		oTimeFrameDropDown.style.display = "none";
		oGeoDropDown.style.display = "none";
		//oDayDropDown.style.display = "none";
		
	}
	
	oGrayOutWindow.style.display = "block";
	dojo.byId("profileName").innerHTML =  franchiseName + "";
	dojo.byId("profileOverview").innerHTML = "<table border='0' cellspacing='0' cellpadding='0'><tr><td valign='middle'><img border=0 src='https://www.franchisegator.com/images/siteStructure/loading_green.gif'></td><td width='10'></td><td valign='middle'>Loading profile content.</td></tr></table>";
	dojo.byId("profileOverview").scrollTop = 0;
	dojo.byId("profileInvestment").innerHTML = "";
	dojo.byId("profileFinancing").innerHTML = "";
	dojo.byId("profileTraining").innerHTML = "";
	dojo.byId("profileAddContainer").innerHTML = "";

	var oOpacityTween = new OpacityTween(document.getElementById('grayOutWindow'),Tween.EaseOut, 0, 80, .25); 
	oOpacityTween.start();
	oOpacityTween.onMotionFinished = function(){ oProfileDescription.style.display = "block"; };





	tempFranchiseName = franchiseName.replace(/\'/g, "&#39;");
	tempRange = rangeMin;
	tempLogoName = logoName;
	tempTarget = target;
	
	 //build list of parameters
	var querystring_variables = new Array();
    querystring_variables["franchiseid"] = franchiseid;

	//make asynchoronous call to get_franchises_json.php
	var bindArgs = {
		url: '/Selector/php_includes/get_profile_jsonV4_12.php',
		type: 'text/javascript',
        content: querystring_variables,
        handler: showProfile
	};
	dojo.io.bind(bindArgs); 
 }

/*
function CloseProfile(franchiseID){
	document.getElementById("profile" + franchiseID).style.display = "none";	
}*/

function CloseProfile(){
	var oGrayOutWindow = document.getElementById('grayOutWindow');
	var oProfileDescription = document.getElementById('profileDescription');
	var oIndustryDropDown = document.getElementById("industry");
	var oSubIndustryDropDown = document.getElementById("subindustry");
	var oStateDropDown = document.getElementById("state");
	var oInvestmentDropDown = document.getElementById("investmentpulldown");
	
	//var oCountryDropDown = document.getElementById("country");
	//var oStateSelectorDropDown = document.getElementById("stateSelector");
	var oCapitalDropDown = document.getElementById("capital");
	var oTimeFrameDropDown = document.getElementById("timeFrame");
	var oGeoDropDown = document.getElementById("geo");
	//var oDayDropDown = document.getElementById("day");

	oProfileDescription.style.display = "none"; 

	dojo.byId("hltPhone").style.display = "none";
	dojo.byId("hltInfo").style.display = "none";
	dojo.byId("hltRightCap").style.display = "none";
	dojo.byId("hltRow").style.height = "0px";	
	dojo.byId("hltCell").style.background = "white";	
	dojo.byId("profileOverview").style.height = "400px";	
	dojo.byId("profileOverview").style.marginTop = "20px";		

	var oOpacityTween = new OpacityTween(document.getElementById('grayOutWindow'),Tween.EaseOut, 80, 0, .25); 
	oOpacityTween.start();
	oOpacityTween.onMotionFinished = function(){oGrayOutWindow.style.display = "none";};
	
	if(isMinIE6){
		oIndustryDropDown.style.display = "inline";
		oSubIndustryDropDown.style.display = "inline";
		oStateDropDown.style.display = "inline";
		oInvestmentDropDown.style.display = "inline";
		
		
		//oCountryDropDown.style.display = "inline";
		//oStateSelectorDropDown.style.display = "inline";
		oCapitalDropDown.style.display = "inline";
		oTimeFrameDropDown.style.display = "inline";
		oGeoDropDown.style.display = "inline";
		//oDayDropDown.style.display = "inline";

	}

}




function showProfile(type, data, evt) {


	var profileData = data.parseJSON();

 	if (document.getElementById('profile' + profileData.id)) {
	  document.getElementById('profile' + profileData.id).style.display = "block";
	}
	else {	
		//var profile = document.createElement('div');
		//profile.className = 'franchise_profile';
		//profile.setAttribute('id', 'profile' + profileData.id);
		//profile.innerHTML = '<div style="text-align: right"><div id="closebutton"><a href="#" onclick="CloseProfile(\'' + profileData.id + '\')"><strong>X</strong> Close Window</a></div></div>';
	
		//var profileDesc = document.createElement('div');
		//profileDesc.className = 'franchise_profile_content';
		
		var theText = profileData.profileText;
	
		//var AddCodeButton = "<div class=\"ProfileAdd\" onclick='MoveToFranchiseList(\"" + profileData.id + "\", \"" + tempFranchiseName +"\", \"" + tempRange +"\",\"" + tempLogoName +"\",\"drag_target\"); CloseProfile(\"" + profileData.id + "\")'>Move to Franchise List</div>"
		var AddCodeButton = "";
	
		theText = theText.replace(/><b><a class="sponsorrequestinfo" href="#request">Request Information<\/a><br\/><\/b><br>/, AddCodeButton);
		theText = theText.replace(/<b><a class="sponsorrequestinfo" href="#request">Request Information<\/a><br\/><\/b><br>/, AddCodeButton);
		theText = theText.replace(/><b><a class="sponsorrequestinfo" href="#request">Request Information<\/a><\/b><br>/, AddCodeButton);

		
		
		theText = theText.replace(/<font class="sponsorheader">[^<]+<\/font>/, AddCodeButton);
		theText = theText.replace(/<a class="sponsorrequestinfo"[^<]+<\/a>/, AddCodeButton);
		
		theText = theText.replace(/Please complete the email form below for more business opportunity information./, AddCodeButton);
		theText = theText.replace(/Please complete the email form below for more franchise information./, AddCodeButton);

		
		/*
		profileData.require1;
		profileData.require2;
		profileData.require3;
		*/
		
		var sProfileFinancing = "";
		var sProfileTraining = "";
		var sMustViewProfile = profileData.mustViewProfile;
		
		
		if(profileData.financing == 1){
			sProfileFinancing = "Yes"	
		} else if(profileData.financing == 0) {
			sProfileFinancing = "No"	
		} else if(profileData.financing == 2) {
			sProfileFinancing = "3rd Party"	
		}
		
		
		if(profileData.training){
			sProfileTraining = "Yes"	
		} else {
			sProfileTraining = "No"	
		}
		
		
		var investmentOutput = "";
		investmentOutput = "$" + addCommas(profileData.minimumInvest);
		/*
		if(profileData.lowEnd != 0 && profileData.upperEnd != 0){
			investmentOutput = "$" + addCommas(profileData.lowEnd) + " - $" + addCommas(profileData.upperEnd);
		} else if(profileData.lowEnd != 0 && profileData.upperEnd == 0){
			investmentOutput = "$" + addCommas(profileData.lowEnd);
		} else {
			investmentOutput = "$" + addCommas(profileData.point);
		}
		*/
		
		
		//profileData.minimumInvest;

		
		
		
		dojo.byId("profileName").innerHTML =  profileData.name + "";

		dojo.byId("profileOverview").innerHTML = ""
		dojo.byId("profileOverview").innerHTML = theText;
		dojo.byId("profileOverview").scrollTop = 0;

		dojo.byId("profileInvestment").innerHTML = "<strong>Liquid Capital Requirement <span style='font-size:11px;'>(cash available)</span>:</strong> " + getRangeOrDollarAmount(profileData.LiquidCapitalMin, profileData.LiquidCapitalMax);
		
		if(profileData.NetWorthMin != 0){
			dojo.byId("profileInvestment").innerHTML += "<br><strong>Net Worth Requirement:</strong> " + getRangeOrDollarAmount(profileData.NetWorthMin, profileData.NetWorthMax);
		}
		
		if(profileData.TotalCapitalMin != 0){
			dojo.byId("profileInvestment").innerHTML += "<br><strong>Total Capital Requirement:</strong> " + getRangeOrDollarAmount(profileData.TotalCapitalMin, profileData.TotalCapitalMax);
		}
		
		if(profileData.require1 != ""){
			dojo.byId("profileInvestment").innerHTML += "<br>" + profileData.require1 + "";
		}
		
		if(profileData.require2 != ""){
			dojo.byId("profileInvestment").innerHTML += "<br>" + profileData.require2 + "";
		}
		
		if(profileData.require3 != ""){
			dojo.byId("profileInvestment").innerHTML += "<br>" + profileData.require3 + "";
		}
		
		dojo.byId("profileFinancing").innerHTML = "<strong>Financing Assistance:</strong> " + sProfileFinancing;
		dojo.byId("profileTraining").innerHTML = "<strong>Training and Support:</strong> " + sProfileTraining;
		
		if(profileData.hltActive == 1 && profileData.hltPhone.length >= 10){
			dojo.byId("hltRow").style.height = "51px";
			dojo.byId("hltCell").style.background = "white url(/Selector/images/hltBackgroundLeft.gif) no-repeat left 5px";
			dojo.byId("hltPhone").style.display = "block";
			dojo.byId("hltInfo").style.display = "block";			
			dojo.byId("hltRightCap").style.display = "block";			
			dojo.byId("hltPhone").innerHTML = "Call Now! " + profileData.hltPhone;
			dojo.byId("hltInfo").innerHTML = ""; 
			if(profileData.hltText1 != "")
				dojo.byId("hltInfo").innerHTML += "<li>"+profileData.hltText1 + "</li>" ;
			if(profileData.LiquidCapitalMin > 0 || profileData.LiquidCapitalMax > 0)
				dojo.byId("hltInfo").innerHTML +="<li>Liquid Capital Required: " + getRangeOrDollarAmount(profileData.LiquidCapitalMin, profileData.LiquidCapitalMax) + "</li>";
			if(profileData.hltText2 != "")
				dojo.byId("hltInfo").innerHTML += "<li>"+profileData.hltText2 + "</li>";

			dojo.byId("profileOverview").style.height = "350px";
			dojo.byId("profileOverview").style.marginTop = "10px";
		} 
		
		tempFranchiseName = profileData.name.replace(/\'/g, "&#39;");
		
		var networthMin = profileData.NetWorthMin;
		var networthMax = profileData.NetWorthMax;
		var totalCapitalMin = profileData.TotalCapitalMin;
		var totalCapitalMax = profileData.TotalCapitalMax;
		var franchiseFinancing = profileData.sProfileFinancing;
		var franchiseTraining = profileData.sProfileTraining;
		var franchiseUSLocations = profileData.USLocationCount;
		var franchiseCanadaAvail = profileData.CanadaLocationAvailable;
		var franchiseIntlAvail = profileData.IntlLocationAvailable;
		var franchiseDescription = sanitizeJSText(profileData.description);

		var hltPhone = profileData.hltPhone;
		var hltActive = profileData.hltActive;
		var hltText1 = profileData.hltText1;
		var hltText2 = profileData.hltText2;
		
		var hltText = "";
		
		if(hltActive == 1){
			hltText = "<strong>Call Now:</strong> " + hltPhone;
			
			if(hltText1 != ""){
				hltText += "<br>" + hltText1;	
			}
			
			if(hltText2 != ""){
				hltText += " | " + hltText2;	
			}
			
		}


		
		dojo.byId("profileAddContainer").innerHTML = "<a href='javascript:(MoveToFranchiseList(\"" +  profileData.id + "\", \"" + tempFranchiseName +"\", \"" + profileData.LiquidCapitalMin +"\", \"" + profileData.LiquidCapitalMax +"\", \"" + profileData.logoName +"\",\"drag_target\",\"" + sMustViewProfile +"\", \"\", \"" + networthMin +"\",\"" + networthMax +"\",\"" + totalCapitalMin +"\",\"" + totalCapitalMax +"\",\"" + franchiseFinancing +"\",\"" + franchiseTraining +"\",\"" + franchiseUSLocations +"\",\"" + franchiseCanadaAvail +"\",\"" + franchiseIntlAvail +"\",\"" + franchiseDescription +"\",\"" + hltText +"\"));'  onclick='CloseProfile();';><img src=\"https://www.franchisegator.com/images/buttons/addToList.gif\" style=\"border:0px; display:block;\" /></a><br><a href=\"javascript:CloseProfile();\">Go back to Selector</a>";
		//profile.appendChild(profileDesc);
		
		//dojo.byId('search_results_padding').appendChild(profile);
		
	}

 }
 


//displays a franchise image and saves it for later use (to increase load times)
//returns code that needs to be executed using eval()
//url is the url for the image
//parentobjname is the name of the parent DOM element (name of the variable to append the image to as a child node)
var franchise_images = new Object();
function displayFranchiseImage(franchiseid, logoname, width, height, parentobjname) {
	//build url for image
	var id = franchiseid;
	if (id < 100 && id > 9) // 2 digit id; append one 0
		id = "0" + id.toString();
	else if (id < 10)
		id = "00" + id.toString();			
	var url = "https://www.franchisegator.com/images/sponsors/" + id + "/" + logoname;

	var imgname = "franchise_images.image" + franchiseid;
	var code = "if (" + imgname + " == null) {" + imgname + "=document.createElement('img');" + imgname + ".src='" + url + "';" + imgname + ".width=" + width + ";" + imgname + ".height=" + height + ";} " + parentobjname + ".appendChild(" + imgname + "); "

	//alert(code);
	
	return code;
}



function getRangeOrDollarAmount(lowend, upperend) {
	if (upperend != null && upperend != 0) {
		return "$" + addCommas(lowend) + " - " + "$" + addCommas(upperend);
	} else if (lowend != null && lowend != 0) {
		return "$" + addCommas(lowend);
	} else if(lowend == 0){
	return "";
	}
	return "";
}

/*
function getRangeOrDollarAmount(minimumInvest) {
	if (minimumInvest != null & minimumInvest != 0) {
		return "$" + addCommas(minimumInvest);
	}
	return "";
}
*/

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;
}

function dragEnd(e) {
	dojo.byId('drag_target_label').style.display = "none";
	
   var CurrentCount = countChildNodes('drag_target');
   if(CurrentCount >= 1){
	dojo.byId('drag_target_count').innerHTML = "You have selected <strong>" +  CurrentCount + "</strong> of <strong>10</strong> Franchises";   
   }
}


function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

/********************** slider code ***************************/


/**
* @param object sliderObj
* @param int val (the value)
*/
function record_liquid_capital_value(sliderObj, val, newPos) {
    document.search.investment.value = val;
}

function bsSliderSearch(sliderObj, val, newPos) {
    start_search(0);
}


function getSubCategories(){
	
   var currentIndustryIndex = dojo.byId('industry').selectedIndex;
   var currentIndustryText = dojo.byId('industry').options[currentIndustryIndex].text;
   
	if(currentIndustryText == "All Industries"){
		currentIndustryText = " franchises";
	} else if(currentIndustryText != "Business Opportunities" && currentIndustryText != "Business Services"){
		currentIndustryText += " franchises";
	}
	if(dojo.byId('headerDescriptionTitle') != null)
		dojo.byId('headerDescriptionTitle').innerHTML = currentIndustryText;
	
	dojo.byId('subindustry').options.length = 0;
	// get values from form
    var industry = dojo.byId('industry').options[dojo.byId('industry').selectedIndex].value;

    //build list of parameters
	var querystring_variables = new Array();
    querystring_variables["industry"] = industry;


var bindArgs2 = {
		url: '/Selector/php_includes/getSubCategories.php',
		type: 'text/javascript',
        content: querystring_variables,
        handler: populateSubCategories
	};
	dojo.io.bind(bindArgs2); 
}

function populateSubCategories(type, data, evt) {

	var subCategoryResults = data.parseJSON();
	var osubcategory= document.getElementById("subindustry");
	
	dojo.byId('subindustry').options[0] = new Option("All Sub Industries","");
	var z = 1;
	
 	for (var i=0; i<subCategoryResults.count; i++) {
			var subCategoryID = subCategoryResults.sub_categories[i].id;
			var subCategoryName = subCategoryResults.sub_categories[i].name;

		dojo.byId('subindustry').options[z] = new Option(subCategoryName,subCategoryID);

		z++;
	}
}

function sanitizeJSText(text) {
	text = text.replace(/\'/g, "&#39;");
	text = text.replace(/\"/g, "&#34;");
	return text;
}
