/**
 * @author leyguesa
 */

 
 var oSelectCounty = {
		
				fillProvince: function (ship){
								
					if(!ship){
					    if (window.console) console.log("début !ship");
						var province = formsControls.getElement('address_state');	//pour le Hidden	
						var temp = formsControls.getElement("province_list");
						if (window.console) console.log("province : " + province);
						if (window.console) console.log("temp : " + temp);						
					}else{
						var province = document.getElementById('shipstate').getElementsByTagName('input')[0];
						var temp = formsControls.getElement("province_listShip");	
					}
					var selecteditem = 0;
					if (temp != null)
					{
						oSelectTools.resetSelect(temp);		
						for (k=1;k<=provinceid.length;k++)
							temp.options[k]= new Option(provincename[k-1],provinceid[k-1]);
				
						if (province!=null)
							for (k=1;k<=provinceid.length;k++)
							{
								if (temp.options[k].text == province.value)
								{
									temp.options[k].selected=true;
									selecteditem = k;				
								}
							}
					}
				},
				
				fillArea: function (CityIndex,ship){
					
					//Ctrl d'enregistrement
					if(!ship){
						var province = formsControls.getElement('address_state');
						var city = formsControls.getElement('address_city');
						var area = formsControls.getElement('address_line3');		
						var temp=formsControls.getElement("area_list");	
					}else{
						var province = document.getElementById('shipstate').formsControls.getElementsByTagName('input')[0];
						var city = document.getElementById('shipcity').formsControls.getElementsByTagName('input')[0];
						var area = document.getElementById('address_line3Ship').formsControls.getElementsByTagName('input')[0];	
						var temp=formsControls.getElement("area_listShip");
					}
						
					if (temp != null)
					{
						oSelectTools.resetSelect(temp);
						if (CityIndex != 0)//Cas sans ville
						{		
							//initialisation
							temp.length=areaid.length;
							var j=1;
							for (var i=0;i<areaid.length;i++)
							{
								if (areaid[i].substr(0,4)==CityIndex)
								{
									temp.options[j].text=areaname[i];
									temp.options[j].value=areaid[i];
									j=j+1;
								}			
							}
							if (j==1)
							{
								temp.length=1;
								document.getElementById("DivAreal").style.display="none";
							}
							else
							{
								temp.length=j;
								document.getElementById("DivAreal").style.display="block";
							}
						}
						else
							document.getElementById("DivAreal").style.display="none";
				
					}
				},
				
				fillCity: function (provincIndex,ship){
					
					var group = new Array();
					
					if(!ship){
					
					    if (window.console) console.log('fillCity !ship')
					
						var province = formsControls.getElement('address_state');	
						var city = formsControls.getElement('address_city'); //pour le Hidden
						var quartier = formsControls.getElement('address_line3');
						var temp = formsControls.getElement("city_list");
										
					}else{
						
						if (window.console) console.log('fillCity else')
						
						var province = document.getElementById('shipstate').getElementsByTagName('input')[0];
						var city = document.getElementById('shipcity').getElementsByTagName('input')[0];	//pour le Hidden
						var quartier = document.getElementById('address_line3Ship').getElementsByTagName('input')[0];
						var temp = formsControls.getElement("city_listShip");
						
					}
					var nboptions = 0; 
					
					if (temp != null)
					{
						oSelectTools.resetSelect(temp);
						
						if (window.console) console.log('temp != null')
						
						//remplissage des groups
						group[0]= new Array();
						for (var k=0;k<provinceid.length;k++)
						{
							group[k+1]= new Array();
							for (var i=0;i<cityid.length;i++){
								if (cityid[i].substr(0,2)==provinceid[k]){
									group[k+1].push(new Option(cityname[i],cityid[i]));
									}
							}
									
							//group[k+1].push(new Option("其它 ","其它 "));
							//group[k+1].push(new Option("?? ","?? ")); 
							//<option value="Other">Other</option>
						}
						
						if (provincIndex != null)
						{
							
							
							if (window.console) console.log('provincIndex != null')
							
							//Vider la liste pour les quartiers
							oSelectCounty.fillArea(0,ship);
							
							if(!ship){
							
							    if (window.console) console.log('formsControls.saveElement("address_line3","",provincIndex)')
								formsControls.saveElement("address_line3","",provincIndex);
							
							}
							else
							{
							    if (window.console) console.log('formsControl.saveElement(quartier,"",provincIndex)')
								formsControl.saveElement(quartier,"",provincIndex);
							}
						
							if (provincIndex == 0)
							{
								if(!ship){
								
								    if (window.console) console.log('provincIndex == 0 // !ship)')
								
									formsControls.saveElement("address_city","",provincIndex);
									oSelectCounty.fillArea(provincIndex);
									formsControls.saveElement("address_line3","",provincIndex);
								}
								else
								{	
									formsControls.saveElementShip(city,"",provincIndex);
									oSelectCounty.fillArea(provincIndex,ship);
									formsControls.saveElementShip(quartier,"",provincIndex);
								}
							}
								
							nboptions  = group[provincIndex].length;
							if (city!=null)
								temp.options[0].selected = true;
								for (k=0;k<nboptions;k++)
								{
									temp.options[k+1] = group[provincIndex][k];
									if (temp.options[k+1].text == city.value)
									{
										temp.options[k+1].selected=true;
									}
								}
				
						}
						//Mise à Jour lors d'un postback
						else if (province != null && province.value != "" && city != null)
						{
						
						
						    if (window.console) console.log('province != null && province.value != "" && city != null')    
						
						
							var Other = true; //Pour le traitement du Other
							if(!ship){
							
							    if (window.console) console.log('var temp2 = formsControls.getElement("province_list")'); 
							    
								var temp2 = formsControls.getElement("province_list");
							}
							else
							{
							
							    if (window.console) console.log('var temp2 = formsControls.getElement("province_listShip")');
								var temp2 = formsControls.getElement("province_listShip");
							}
							
							nboptions = group[temp2.options.selectedIndex].length;
							
							if (window.console) console.log('nboptions : ' + nboptions);
							
							if (window.console) console.log('temp : ' + temp.name);
							if (window.console) console.log('temp2 : ' + temp2.name);
							
							for (k=0;k<nboptions;k++)
							{
								temp.options[k+1] = group[temp2.options.selectedIndex][k];
								if (temp.options[k+1].text == city.value)
								{
									temp.options[k+1].selected=true;
									Other = false;							
								}
							}
							
							if (Other){
								if (city.value != ""){
									temp.options[nboptions].selected=true; //Pour le Other
								}						
							}
						}
					}			
				},
				
				setArea: function (ship){
					if(!ship){
						var area_list = formsControls.getElement("area_list");
						var area = formsControls.getElement('address_line3');	
					}
					else
					{
						var area_list = formsControls.getElement("area_listShip");
						var area = formsControls.getElement('address_line3Ship');	
					}
					
					if (area_list != null){
								selectList(area_list,area.value);
					}
				},
				
				onChangeInit: function(){
					
					//var oProvince_list = formsControls.getElement('province_list');
					var oProvince_list = document.getElementById('province_list');
					
					//console.log('oProvince_list : ' + oProvince_list);

					if (oProvince_list != null){				
					
					//console.log('oProvince_list : IN');
					
						oProvince_list.onchange = function(){
								formsControls.saveElement('address_state',oProvince_list.options[this.options.selectedIndex].text,oProvince_list.options.selectedIndex);
								oSelectCounty.fillCity(oProvince_list.options.selectedIndex);	
						}
					}
					
					var oCity_list = formsControls.getElement('city_list');
					
					if (oCity_list != null) {
						oCity_list.onchange = function(){
							formsControls.saveElement('address_city', oCity_list.options[this.options.selectedIndex].text, oCity_list.options.selectedIndex);
							oSelectCounty.fillArea(oCity_list.options.selectedIndex);
							oSelectCounty.fillArea();
						}
					}
					
				},
				
				init: function(){
					oSelectCounty.fillProvince();
					oSelectCounty.fillCity();
					oSelectCounty.fillArea();
					oSelectCounty.setArea();
					oSelectCounty.onChangeInit();
				}
			}
		
		var oSelectTools = {
		
			resetSelect: function (selectList){
				// Remove options
				while (selectList.options.length != 1){
					selectList.options[1] = null;
				}
			},
		
			selectList: function (objList,idstring){
				for (var i=0;i<objList.length;i++)	{
					if (objList.options[i].text==idstring){
						objList.options[i].selected = true;
						return;
					}
				}	
			}
		}
		
		/************************************************************************/
		/*						Used to validate the Area						*/
		/************************************************************************/
		function validateArea(){
			var provinceList = formsControls.getElement("province_list")
			var areaList = formsControls.getElement("area_list")
			var login = formsControls.getElement("login")
			
//			if (areaList.selectedIndex == 0 
//			&& provinceList.selectedIndex != 0 
//			&& areaList.options.length > 1) 
//			{
//				document.getElementById("areaValid").style.color = "red";
//				document.getElementById("areaValid").style.fontWeight = "bold";
//				window.scrollTo(0,0);
//			}
//			else
//			{
				document.getElementById("areaValid").style.color = "";
				document.getElementById("areaValid").style.fontWeight = "normal";
						
				formsControls.submitForm();
//			}
		}
		
		//if (formsControls.getElement('address_state')) addEvent(formsControls.getElement('address_state'), 'load', oSelectCounty.init, false);

	function init() {
		// quit if this function has already been called
		if (arguments.callee.done) return;
		
		// flag this function so we don't do the same thing twice
		arguments.callee.done = true;
		
		// kill the timer
		if (_timer) {
			clearInterval(_timer);
			_timer = null;
		}
		
        oSelectCounty.init();
        
	};
	
	/* for Mozilla */
	if (document.addEventListener) {
		document.addEventListener("DOMContentLoaded", init, false);
	}
	
	/* for Internet Explorer */
	/*@cc_on @*/
	/*@if (@_win32)
		document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
		var script = document.getElementById("__ie_onload");
		script.onreadystatechange = function() {
			if (this.readyState == "complete") {
				init(); // call the onload handler
			}
		};
	/*@end @*/
	
	/* for Safari */
	if (/WebKit/i.test(navigator.userAgent)) { // sniff
		var _timer = setInterval(function() {
			if (/loaded|complete/.test(document.readyState)) {
				init(); // call the onload handler
			}
		}, 10);
	}
	
	/* for other browsers */
	window.onload = init;



								
			
			
			