/*
	2009.07.16	gricke
*/

if (typeof xmlConfigDoc == 'undefined'){
	var xmlConfigDoc = "/xml/content/locator2_config.xml";
}else{
	//it was set in a previous file
}

var xmlDoc = "";
var xsltDoc = "";
var mapView = "US";
var mapsToShow = "";	//1: US only, 2: US & CAN, 3: US,CAN,INT 4: US & INT
var globalStateChoice = "";

var mapNavBack_US_img = "";
var mapNavBack_CAN_img = "";
var mapNavBack_INT_img = "";

if (typeof locatorDiv == 'undefined'){
	var locatorDiv = "TestOutput";
}else{
	//it was set in a previous file
}

function runAjax(){
	if(document.getElementById('TestOutput')){
		xmlhttpPost('/o2Net/Applications/TransformDoc/default.aspx?XmlDoc=' + window.xmlConfigDoc + '&XsltDoc=' + window.xsltDoc + '',locatorDiv);
	}else{
		setTimeout('runAjax()',250);
	}
}

function configSet(){
	$.get(xmlConfigDoc, function(d){
		$(d).find('xsltDoc').each(function(){
			xsltDoc = $(this).text(); 
		});
		$(d).find('xmlDoc').each(function(){
			xmlDoc = $(this).text(); 
		});
		$(d).find('mapsToShow').each(function(){
			mapsToShow = $(this).text(); 
		});		
	});
}

configSet();

function setMapNav(){
	if(document.getElementById('mapNav')){
		switch(window.mapsToShow){
			case '3':
				mapNavBack_US_img = "mapNavBack_US.gif";
				mapNavBack_CAN_img = "mapNavBack_CAN.gif";
				mapNavBack_INT_img = "mapNavBack_INT.gif";
				break;    
			case '4':
				mapNavBack_US_img = "mapNavBack_US_noCAN.gif";
				mapNavBack_CAN_img = "mapNavBack_CAN_noCAN.gif";
				mapNavBack_INT_img = "mapNavBack_INT_noCAN.gif";
				$("#mapNavCan").css("display","none");
				$("#mapNav").css("padding-left","230px");
				break;
			default:
				mapNavBack_US_img = "mapNavBack_US.gif";
				mapNavBack_CAN_img = "mapNavBack_CAN.gif";
				mapNavBack_INT_img = "mapNavBack_INT.gif";
		}		
		$("#mapNav").css("background","transparent url(/images/interface/" + window.mapNavBack_US_img + ") no-repeat 0px 0px");
	}else{
		setTimeout('setMapNav()',250);
	}
}

setMapNav();

if (typeof runLocatorOnLoad != 'undefined'){
	//This var is set in another file (i.e. homePage.js)
	if(runLocatorOnLoad != false){
		runAjax();
	}
}else{
	runAjax();
}	

function getState(stateAbr){
	$.get(window.xmlDoc, function(d){
		
		var clickMatch = "";
		var foundMatch = "";
		var mapViewMatch = "";
		var mapViewSet = "";
		var addressForGoogleMaps = "";
		var cityForGoogleMaps = "";
		var stateForGoogleMaps = "";
		var zipForGoogleMaps = "";

		switch(window.mapView){
		case 'US':
			mapViewSet = "US";
			break;    
		case 'CAN':
			mapViewSet = "Canada";
			break;
		case 'INT':
			//clickMatch and companyCountry are the same
			mapViewSet = stateAbr;
			break; 
		default:
			mapViewSet = "US";
		}		
		
		if(stateAbr != "XX"){
			globalStateChoice = stateAbrev(stateAbr);
		}

		$("#outPut").empty();
		$("div#mapUS").css("display","none");
		$("div#mapCAN").css("display","none");
		$("div#mapINT").css("display","none");
		
		$("#outPut").append("<h2>" + window.globalStateChoice + "</h2>");
		$("#outPut").append("<div id=\"returnMapLink\"><a href=\"#\" onMouseDown=\"showMap();\">Return To Map</a></div>");
		$(d).find('Rep').each(function(){
			clickMatch = $(this).find('clickMatch').text();
			mapViewMatch = $(this).find('companyCountry').text();
			
			if(clickMatch == stateAbr && mapViewMatch == mapViewSet){
				$('<ul></ul>');
				$("#outPut").append("<li class=\"coName\">" + $(this).find('companyName').text() + "</li>");
				$("#outPut").append("<li class=\"address1\">" + $(this).find('companyAddress').text() + "</li>");
				if($(this).find('companyAddress2').text().length > 1){
					$("#outPut").append("<li class=\"address2\">" + $(this).find('companyAddress2').text() + "</li>");
				}
				$("#outPut").append("<li class=\"address3\">" + $(this).find('companyCity').text() + ", " + $(this).find('companyState').text() + " " + $(this).find('companyZip').text() + "</li>");

				if($(this).find('companyPhone').text().length > 1){
					$("#outPut").append("<li class=\"phone\">" + $(this).find('companyPhone').text() + "</li>");
				}
				if($(this).find('companyFax').text().length > 1){
					$("#outPut").append("<li class=\"fax\">" + $(this).find('companyFax').text() + "</li>");
				}
				if($(this).find('companyStateRegion').text().length > 1){
					$("#outPut").append("<li class=\"stateRegion\">" + $(this).find('companyStateRegion').text() + "</li>");
				}
				if($(this).find('companyAddress').text().length > 1 && window.mapView != 'INT'){
					addressForGoogleMaps = $(this).find('companyAddress').text();
					addressForGoogleMaps = addressForGoogleMaps.replace(/ /, "+");
					cityForGoogleMaps = $(this).find('companyCity').text();;
					stateForGoogleMaps = $(this).find('companyState').text();;
					zipForGoogleMaps = $(this).find('companyZip').text();;		
					$("#outPut").append("<li class=\"mapLocation\">" + "<a target=\"_blank\" href=\"http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=" + addressForGoogleMaps + ",+" + cityForGoogleMaps + "+" + stateForGoogleMaps + "+" + zipForGoogleMaps + "\">Map Location</a></li>");
				}	
				foundMatch = stateAbr;		
			}
		});

		if(foundMatch.length == 0){
			stateAbr = "XX";
			getState(stateAbr);
		}else{
			$("#outPut").wrapInner(document.createElement("ul"));
			reDrawSifr();
		}	
	});
}

function showMap(version){
	if(version != null){
		mapView = version;
	}

	$.get(window.xmlDoc, function(d){
		$("#outPut").empty();
		$("div#mapUS").css("display","none");
		$("div#mapCAN").css("display","none");
		$("div#mapINT").css("display","none");
		
		switch(window.mapView){
		case 'US':
			$("div#mapUS").css("display","block");
			$("#mapNav").css("background","transparent url(/images/interface/" + window.mapNavBack_US_img + ") no-repeat 0px 0px");
			break;    
		case 'CAN':
			$("div#mapCAN").css("display","block");
			$("#mapNav").css("background","transparent url(/images/interface/" + window.mapNavBack_CAN_img + ") no-repeat 0px 0px");
			break;
		case 'INT':
			$("div#mapINT").css("display","block");
			$("#mapNav").css("background","transparent url(/images/interface/" + window.mapNavBack_INT_img + ") no-repeat 0px 0px");
			break; 
		default:
			$("div#mapUS").css("display","block");
			$("#mapNav").css("background","transparent url(/images/interface/" + window.mapNavBack_US_img + ") no-repeat 0px 0px");
		}
	});	
	return false;
	reDrawSifr();
}
function internationalGetState(){
	var selectedDrop = document.getElementById('getInternational').value;
	var dropdownIndex = document.getElementById('getInternational').selectedIndex;
	var dropdownValue = document.getElementById('getInternational')[dropdownIndex].value;	

	getState(dropdownValue);
}
function stateAbrev(abv)
{
	 var usState = new Array();
	 var stateOutput = "";
	 
	 usState[0] = "AL|Alabama";
	 usState[1] = "AK|Alaska";
	 usState[2] = "AZ|Arizona";
	 usState[3] = "AR|Arkansas";
	 usState[4] = "CA|California";
	 usState[5] = "CO|Colorado";
	 usState[6] = "CT|Connecticut";
	 usState[7] = "DE|Delaware";
	 usState[8] = "FL|Florida";
	 usState[9] = "GA|Georgia";
	usState[10] = "HI|Hawaii";
	usState[11] = "ID|Idaho";
	usState[12] = "IL|Illinois";
	usState[13] = "IN|Indiana";
	usState[14] = "IA|Iowa";
	usState[15] = "KS|Kansas";
	usState[16] = "KY|Kentucky";
	usState[17] = "LA|Louisiana";
	usState[18] = "ME|Maine";
	usState[19] = "MD|Maryland";
	usState[20] = "MA|Massachusetts";
	usState[21] = "MI|Michigan";
	usState[22] = "MN|Minnesota";
	usState[23] = "MS|Mississippi";
	usState[24] = "MO|Missouri";
	usState[25] = "MT|Montana";
	usState[26] = "NE|Nebraska";
	usState[27] = "NV|Nevada";
	usState[28] = "NH|New Hampshire";
	usState[29] = "NJ|New Jersey";
	usState[30] = "NM|New Mexico";
	usState[31] = "NY|New York";
	usState[32] = "NC|North Carolina";
	usState[33] = "ND|North Dakota";
	usState[34] = "OH|Ohio";
	usState[35] = "OK|Oklahoma";
	usState[36] = "OR|Oregon";
	usState[37] = "PA|Pennsylvania";
	usState[38] = "RI|Rhode Island";
	usState[39] = "SC|South Carolina";
	usState[40] = "SD|South Dakota";
	usState[41] = "TN|Tennessee";
	usState[42] = "TX|Texas";
	usState[43] = "UT|Utah";
	usState[44] = "VI|Vermont";
	usState[45] = "VA|Virginia";
	usState[46] = "WA|Washington";
	usState[47] = "WV|West Virginia";
	usState[48] = "WI|Wisconsin";
	usState[49] = "WY|Wyoming";
	//CANADIAN PROVINCES
	usState[50] = "AB|Alberta";
	usState[51] = "BC|British Columbia";
	usState[52] = "MB|Manitoba";
	usState[53] = "NB|New Brunswick";
	usState[54] = "NL|Newfoundland & Labrador";
	usState[55] = "NT|Northwest Territories";
	usState[56] = "NS|Nova Scotia";
	usState[57] = "ON|Ontario";
	usState[58] = "PE|Prince Edward Island";
	usState[59] = "QC|Quebec";
	usState[60] = "SK|Saskatchewan";
	usState[61] = "YT|Yukon";
	
	for(z=0;z<usState.length;z=z+1){
		if(abv == usState[z].substring(0,2)){
			stateOutput = usState[z].substring(3);
			break;
		}
	}

	if(stateOutput.length == 0){
		stateOutput = abv;
	}
	
	return stateOutput;
}