function ChangeProvince(siteName,provControl,regControl,commControl,areaControl) {
	var provList = "{19974E36-60AB-4916-AE1F-F1BA4334F9BC}";
	var regList = "{E01FB51F-EA1C-4453-BE09-D1D78F4CAF23}";
	var commList = "{D239F228-2906-4A9F-8C3C-B6F324A395D6}";
	var areaList = "{51117DCA-8544-4A71-B4DD-38C9C4CD7C16}";
	
	var lstProv = document.getElementsByName(provControl);
	var sValue = lstProv(0).options(lstProv(0).selectedIndex).innerText;

	LoadProvince(siteName, provControl, provList, sValue);
	LoadRegion(siteName, regControl, regList, sValue, "");
	LoadCommunity(siteName, commControl, commList, "", "");
	LoadArea(siteName, areaControl, areaList, "", "");
}

function ChangeRegion(siteName,provControl,regControl,commControl,areaControl) {
	var provList = "{19974E36-60AB-4916-AE1F-F1BA4334F9BC}";
	var regList = "{E01FB51F-EA1C-4453-BE09-D1D78F4CAF23}";
	var commList = "{D239F228-2906-4A9F-8C3C-B6F324A395D6}";
	var areaList = "{51117DCA-8544-4A71-B4DD-38C9C4CD7C16}";
	
	var lstProv = document.getElementsByName(provControl);
	var sProv = lstProv(0).options(lstProv(0).selectedIndex).innerText;

	var lstReg = document.getElementsByName(regControl);
	var sValue = lstReg(0).options(lstReg(0).selectedIndex).innerText;

	LoadRegion(siteName, regControl, regList, sProv, sValue);
	LoadCommunity(siteName, commControl, commList, sValue, "");
	LoadArea(siteName, areaControl, areaList, "", "");
}

function ChangeCommunity(siteName,provControl,regControl,commControl,areaControl) {
	var provList = "{19974E36-60AB-4916-AE1F-F1BA4334F9BC}";
	var regList = "{E01FB51F-EA1C-4453-BE09-D1D78F4CAF23}";
	var commList = "{D239F228-2906-4A9F-8C3C-B6F324A395D6}";
	var areaList = "{51117DCA-8544-4A71-B4DD-38C9C4CD7C16}";
	
	var lstProv = document.getElementsByName(provControl);
	var sProv = lstProv(0).options(lstProv(0).selectedIndex).innerText;

	var lstReg = document.getElementsByName(regControl);
	var sReg = lstReg(0).options(lstReg(0).selectedIndex).innerText;
	
	var lstComm = document.getElementsByName(commControl);
	var sValue = lstComm(0).options(lstComm(0).selectedIndex).innerText;

	LoadRegion(siteName, regControl, regList, sProv, sReg);
	LoadCommunity(siteName, commControl, commList, sReg, sValue);
	LoadArea(siteName, areaControl, areaList, sValue, "");
}

function RepopulateLocationDropDownsEdit(siteName,provControl,regControl,commControl,areaControl) {
	lstReg = document.getElementsByName(regControl);
	lstComm = document.getElementsByName(commControl);
	lstArea = document.getElementsByName(areaControl);
	
	lstArea(0).options(0).innerText = "(All)";
	lstComm(0).options(0).innerText = "(All)";
	lstReg(0).options(0).innerText = "(All)";
	
	if(lstComm(0).selectedIndex == 0) {
		lstArea(0).innerHTML = "";
	}
	if(lstReg(0).selectedIndex == 0) {
		lstComm(0).innerHTML = "";
		lstArea(0).innerHTML = "";
	}
}

function RepopulateLocationDropDowns(siteName,sQuery,provControl,regControl,commControl,areaControl) {
	var siteName = siteName // "http://deepdemo.sharevision.ca";
	var prov = provControl // "urn:schemas-microsoft-com:office:office#Province";
	var provList = "{19974E36-60AB-4916-AE1F-F1BA4334F9BC}";
	var reg = regControl // "urn:schemas-microsoft-com:office:office#Region";
	var regList = "{E01FB51F-EA1C-4453-BE09-D1D78F4CAF23}";
	var comm = commControl // "urn:schemas-microsoft-com:office:office#Community";
	var commList = "{D239F228-2906-4A9F-8C3C-B6F324A395D6}";
	var area = areaControl // "urn:schemas-microsoft-com:office:office#Area";
	var areaList = "{51117DCA-8544-4A71-B4DD-38C9C4CD7C16}";
	var sLevel;
	
	if(sQuery.length>0){
		if(sQuery.indexOf("AREA") != -1) {		
			var sProv, sReg, sComm, sArea;
			sLevel = "AREA";
			sArea = GetQueryValue(sQuery,sLevel);
			
			sComm =	LoadArea(siteName, area, areaList, sComm, sArea)
			sReg = LoadCommunity(siteName, comm, commList, sReg, sComm)
			sProv = LoadRegion(siteName, reg, regList, sProv, sReg)
			LoadProvince(siteName, prov, provList, sProv)
		}
		else if(sQuery.indexOf("COMM") != -1) {			
			var sProv, sReg, sComm;
			sLevel = "COMM";
			sComm = GetQueryValue(sQuery, sLevel);
			
			sComm = LoadArea(siteName, area, areaList, sComm, "")
			sReg = LoadCommunity(siteName, comm, commList, sReg, sComm)
			sProv = LoadRegion(siteName, reg, regList, sProv, sReg)
			LoadProvince(siteName, prov, provList, sProv)
		}
		else if(sQuery.indexOf("REG") != -1) {			
			var sProv, sReg;
			sLevel = "REG";
			sReg = GetQueryValue(sQuery, sLevel);
			
			LoadArea(siteName, area, areaList, "", "")
			sReg = LoadCommunity(siteName, comm, commList, sReg, "")
			sProv = LoadRegion(siteName, reg, regList, sProv, sReg)
			LoadProvince(siteName, prov, provList, sProv)
		}	
		else if(sQuery.indexOf("PROV") != -1) {
			var sProv;
			sLevel = "PROV";
			sProv = GetQueryValue(sQuery, sLevel);
			
			LoadArea(siteName, area, areaList, "", "")
			LoadCommunity(siteName, comm, commList, "", "")
			sProv = LoadRegion(siteName, reg, regList, sProv, "")			
			LoadProvince(siteName, prov, provList, sProv)
		}
		else {
			LoadArea(siteName, area, areaList, "", "")			
			LoadCommunity(siteName, comm, commList, "", "")
			LoadRegion(siteName, reg, regList, "", "")
			LoadProvince(siteName, prov, provList, "")
		}
	}	
	else {
		LoadArea(siteName, area, areaList, "", "")
		LoadCommunity(siteName, comm, commList, "", "")
		LoadRegion(siteName, reg, regList, "", "")
		LoadProvince(siteName, prov, provList, "")
	}
}

function LoadArea(siteName,controlName,lookupListName,sComm,sValue) {
	lstArea = document.getElementsByName(controlName);
	lstArea(0).innerHTML = "";		
	var reqstring = siteName + "/_vti_bin/owssvr.dll?CS=109&XMLDATA=1&RowLimit=0&List=" + lookupListName
	
	var req = new ActiveXObject("MSXML2.XMLHTTP");
	req.open("GET",reqstring,false);
	req.send();
	
	var doc = new ActiveXObject("MSXML2.DOMDocument");
	doc.loadXML(req.responseText);
	var data = doc.documentElement.childNodes(1);
	
	//add a none option
	var opt = document.createElement("OPTION"); 
	lstArea(0).options.add(opt); 
	opt.innerText = "(All)"; 
	opt.value = "";
	
	if(typeof sComm == "undefined") {
		sComm = "";
	}
	
	if(sValue.length>0) {
		for (i=0;i<data.childNodes.length;i++) {
			if(data.childNodes(i).attributes.getNamedItem("ows_LinkTitle").value == sValue) {
				var Temp1 = data.childNodes(i).attributes.getNamedItem("ows_Community").value
				var Split = Temp1.split(";#");
				sComm = Split[1]
			}
		}
	}

	if(sComm.length>0){	
		for (i=0;i<data.childNodes.length;i++) {
			var Temp = data.childNodes(i).attributes.getNamedItem("ows_Community").value;
			var sName = Temp.split(";#");
			if(sName[1] == sComm) {
				var optionText = data.childNodes(i).attributes.getNamedItem("ows_LinkTitle").value;
				var optionValue = data.childNodes(i).attributes.getNamedItem("ows_ID").value;
				var opt = document.createElement("OPTION");
				lstArea(0).options.add(opt)
				opt.innerText = optionText;
				opt.value = optionValue;		
				
				if(optionText == sValue) { opt.selected = true; }  		
			}
		}
	}
	return sComm;
}

function LoadCommunity(siteName,controlName,lookupListName,sReg,sValue) {
	lstComm = document.getElementsByName(controlName);
	lstComm(0).innerHTML = "";		
	var reqstring = siteName + "/_vti_bin/owssvr.dll?CS=109&XMLDATA=1&RowLimit=0&List=" + lookupListName
	
	var req = new ActiveXObject("MSXML2.XMLHTTP");
	req.open("GET",reqstring,false);
	req.send();
	
	var doc = new ActiveXObject("MSXML2.DOMDocument");
	doc.loadXML(req.responseText);
	var data = doc.documentElement.childNodes(1);
	
	//add a none option
	var opt = document.createElement("OPTION"); 
	lstComm(0).options.add(opt); 
	opt.innerText = "(All)"; 
	opt.value = "";
	
	if(typeof sReg == "undefined") {
		sReg = "";
	}

	if(sValue.length>0) {
		for (i=0;i<data.childNodes.length;i++) {
			if(data.childNodes(i).attributes.getNamedItem("ows_LinkTitle").value == sValue) {
				var Temp1 = data.childNodes(i).attributes.getNamedItem("ows_Region").value
				var Split = Temp1.split(";#");
				sReg = Split[1]
			}
		}
	}

	if(sReg.length>0){			
		for (i=0;i<data.childNodes.length;i++) {
			var Temp = data.childNodes(i).attributes.getNamedItem("ows_Region").value;
			var sName = Temp.split(";#");
			if(sName[1] == sReg) {
				var optionText = data.childNodes(i).attributes.getNamedItem("ows_LinkTitle").value;
				var optionValue = data.childNodes(i).attributes.getNamedItem("ows_ID").value;
				var opt = document.createElement("OPTION");
				lstComm(0).options.add(opt)
				opt.innerText = optionText;
				opt.value = optionValue;		
				
				if(optionText == sValue) { opt.selected = true; }  		
			}
		}
	}
	return sReg
}

function LoadRegion(siteName,controlName,lookupListName,sProv,sValue) {
	lstReg = document.getElementsByName(controlName);
	lstReg(0).innerHTML = "";		
	var reqstring = siteName + "/_vti_bin/owssvr.dll?CS=109&XMLDATA=1&RowLimit=0&List=" + lookupListName
	
	var req = new ActiveXObject("MSXML2.XMLHTTP");
	req.open("GET",reqstring,false);
	req.send();
	
	var doc = new ActiveXObject("MSXML2.DOMDocument");
	doc.loadXML(req.responseText);
	var data = doc.documentElement.childNodes(1);
	
	//add a none option
	var opt = document.createElement("OPTION"); 
	lstReg(0).options.add(opt); 
	opt.innerText = "(All)"; 
	opt.value = "";

	if(typeof sProv == "undefined") {
		sProv = "";
	}

	if(sValue.length>0) {
		for (i=0;i<data.childNodes.length;i++) {
			if(data.childNodes(i).attributes.getNamedItem("ows_LinkTitle").value == sValue) {
				var Temp1 = data.childNodes(i).attributes.getNamedItem("ows_Province").value
				var Split = Temp1.split(";#");
				sProv = Split[1]
			}
		}
	}
	
	if(sProv.length>0){	
		for (i=0;i<data.childNodes.length;i++) {
			var Temp = data.childNodes(i).attributes.getNamedItem("ows_Province").value;
			var sName = Temp.split(";#");
			if(sName[1] == sProv) {
				var optionText = data.childNodes(i).attributes.getNamedItem("ows_LinkTitle").value;
				var optionValue = data.childNodes(i).attributes.getNamedItem("ows_ID").value;
				var opt = document.createElement("OPTION");
				lstReg(0).options.add(opt)
				opt.innerText = optionText;
				opt.value = optionValue;		
				
				if(optionText == sValue) { opt.selected = true; }  		
			}
		}
	}
	return sProv
}

function LoadProvince(siteName,controlName,lookupListName,sValue) {
	lstProv = document.getElementsByName(controlName);
	lstProv(0).innerHTML = "";		
	var reqstring = siteName + "/_vti_bin/owssvr.dll?CS=109&XMLDATA=1&RowLimit=0&List=" + lookupListName
	
	var req = new ActiveXObject("MSXML2.XMLHTTP");
	req.open("GET",reqstring,false);
	req.send();
	
	var doc = new ActiveXObject("MSXML2.DOMDocument");
	doc.loadXML(req.responseText);
	var data = doc.documentElement.childNodes(1);
	
	//add a none option
	//var opt = document.createElement("OPTION"); 
	//lstProv(0).options.add(opt); 
	//opt.innerText = " "; 
	//opt.value = "";
	
	for (i=0;i<data.childNodes.length;i++) {			
		var optionText = data.childNodes(i).attributes.getNamedItem("ows_LinkTitle").value;
		var optionValue = data.childNodes(i).attributes.getNamedItem("ows_ID").value;
		var opt = document.createElement("OPTION");
		lstProv(0).options.add(opt)
		opt.innerText = optionText;
		opt.value = optionValue;		
		
		if(optionText == sValue) { opt.selected = true; }  					
	}
}

function GetQueryValue(sQuery,sLevel) {
	var sValue
	var sItems = sQuery.split('%3F');
	var sStrings = sItems[1].split('%26');
	
	for (i=0;i<sStrings.length;i++) {
		if(sStrings[i].indexOf(sLevel + "%3D") != -1) {
			sValue = sStrings[i].split('%3D');
			var sReturn = sValue[1];
			
			while(sReturn.indexOf("%2520") != -1) {
				sReturn = sReturn.replace("%2520", " ");
			}
			while(sReturn.indexOf("%2C") != -1) {
				sReturn = sReturn.replace("%2C", ",");
			}
			while(sReturn.indexOf("%2D") != -1) {
				sReturn = sReturn.replace("%2D", "-");
			}			
			return sReturn;
		}
	}
	
	//return sValue
}

