﻿//var requestRoadNames = false;

//try 
//{
//  requestRoadNames = new XMLHttpRequest();
//} 

//catch (trymicrosoft) 
//{
//  try 
//  {
//	 requestRoadNames = new ActiveXObject("Msxml2.XMLHTTP");
//  } 
//  catch (othermicrosoft) 
//  {
//	 try 
//	 {
//		requestRoadNames = new ActiveXObject("Microsoft.XMLHTTP");
//	 } 
//	 catch (failed) 
//	 {
//		requestRoadNames = false;
//	 }  
//  }
//}

//if (!requestRoadNames)
//  alert("Error initializing XMLHttprequest!");
//  
//function getRoadNames(CodPos, NoCivic) 
//{  
//  var url = "../Controllers/RoadNames.aspx?CodPos="+CodPos+"&NoCivic="+NoCivic;
//  
//  requestRoadNames.open("GET", url, true);
//  requestRoadNames.onreadystatechange = updateRoadNames; 
//  requestRoadNames.send(null);
//}

function updateRoadNames(data,lang) 
{
	var RoadNameList = "";
	
//	if (requestRoadNames.readyState == 4) 
//	{
//	    if (requestRoadNames.status == 200) 
//		{
			for (i = document.getElementById("RoadNames").length - 1; i>=0; i--) 
			{
                document.getElementById("RoadNames").remove(i);
            }

			try 
			{
				//var xmlDoc = requestRoadNames.responseXML;
				var xmlDoc = data;
				var RoadNames = xmlDoc.getElementsByTagName("RoadName");
				var AdrHdr = xmlDoc.getElementsByTagName("AdrHdr");
				var CodPay = xmlDoc.getElementsByTagName("CodPay");
				var CodPrv = xmlDoc.getElementsByTagName("CodPrv");
				var CodReg = xmlDoc.getElementsByTagName("CodReg");
				var CPID = xmlDoc.getElementsByTagName("CPID");
				var NomVil = xmlDoc.getElementsByTagName("NomVil");
	
	      
				if (RoadNames.length > 1) 
				{
				    	//si plusieurs rues, on les ajoutes à la liste		    				
					    for (var i=0; i<RoadNames.length; i++) 
					    {
						    var RoadName = "";
						    try 
						    { 
					          RoadName = RoadNames[i].firstChild.nodeValue; 
    						  
					          var anOption = document.createElement("OPTION") 
                              document.getElementById("RoadNames").options.add(anOption) 
                              anOption.innerHTML = RoadName;
                              anOption.value = RoadName; 					  
  					    }   					
  					    catch (err) 
  					    { 
  					    }
  					    document.getElementById('tmpInputCountry').value = CodPay[0].firstChild.nodeValue;
  					    document.getElementById('tmpInputCity').value = NomVil[0].firstChild.nodeValue;
  					    document.getElementById('tmpInputProvince').value = CodPrv[0].firstChild.nodeValue;;
  					    showAdrRoads();

				      }
				} 
				
				else if (RoadNames.length == 1)
				{    
                  document.getElementById("inputStreet").value = RoadNames[0].firstChild.nodeValue;
                  document.getElementById('inputCountry').value = CodPay[0].firstChild.nodeValue;
                  document.getElementById("inputCity").value = NomVil[0].firstChild.nodeValue;
                  document.getElementById("inputProvince").value = CodPrv[0].firstChild.nodeValue;
                  document.getElementById('inputCivic').value = document.getElementById('tmpInputCivic').value;
                  document.getElementById('inputPostalCode').value = document.getElementById('tmpInputPostalCode').value;
                  document.getElementById('inputApt').value = document.getElementById('tmpInputApt').value;
                  showAdrLabels();
				}
        
                else if (RoadNames.length == 0) 
                { 
                    if (lang == "fr")
                    {
                        alert ('Adresse invalide');
                    }
                    else
                    {
                        alert('Invalid address');
                    }
                }
        
			} 
			
			catch (E) 
			{
			  alert(E.message);
				//RoadNameList = "<option>Error</option>";
			}			
			
//		} 
//		
//		else if (requestRoadNames.status == 404) 
//		{
//		  RoadNameList = "<option>404</option>";	
//		} 
//		else if (requestRoadNames.status == 403) 
//		{
//			RoadNameList = "<option>403</option>";	
//	 	} 
//	} 
//	else 
//	{
//		//display a status
//	}
}


function categoryChanged(catSelected) 
{
    if(catSelected == "CORPORATE" || catSelected == "CORPORATIF")
    {
        document.getElementById("firstNameLabel").style.display = "none";
    }

    if(catSelected == "PERSONAL ACCOUNT" || catSelected == "COMPTE PARTICULIER")
    {
        document.getElementById("firstNameLabel").style.display="";
    }    
}




function showAdrLabels() 
{
    formatAdr();
    document.getElementById('adrLabels').style.display = "block";
    document.getElementById('adrInputs').style.display = "none";
    document.getElementById('adrRoads').style.display = "none";

    document.getElementById('btnCreateAdr').style.display = "block";
    document.getElementById('btnValidate').style.display = "none";
//    document.getElementById('btnContinue').style.display = "none";
    document.getElementById('btnFinish').style.display = "none";
//    document.getElementById('btnCancel').style.display = "none";
  
}

function showAdrInputs() 
{
    document.getElementById('tmpInputCivic').value = document.getElementById('inputCivic').value;
    document.getElementById('tmpInputPostalCode').value = document.getElementById('inputPostalCode').value;
    document.getElementById('tmpInputApt').value = document.getElementById('inputApt').value;
    
    document.getElementById('adrLabels').style.display = "none";
    document.getElementById('adrInputs').style.display = "block";
    document.getElementById('adrRoads').style.display = "none";

    document.getElementById('btnCreateAdr').style.display = "none";
//    document.getElementById('btnContinue').style.display = "block";
    document.getElementById('btnValidate').style.display = "block";
    document.getElementById('btnFinish').style.display = "none";
//    document.getElementById('btnCancel').style.display = "block";

}

function showAdrRoads() 
{
    document.getElementById('adrLabels').style.display = "none";
    document.getElementById('adrInputs').style.display = "none";
    document.getElementById('adrRoads').style.display = "block";
    
    document.getElementById('btnCreateAdr').style.display = "none";
    document.getElementById('btnValidate').style.display = "none";
//    document.getElementById('btnContinue').style.display = "none";
    document.getElementById('btnFinish').style.display = "block";
//    document.getElementById('btnCancel').style.display = "block";  

}

function cancel() 
{
    showAdrLabels();
    document.getElementById('tmpInputCivic').value = "";
    document.getElementById('tmpInputPostalCode').value = "";
    document.getElementById('tmpInputApt').value = "";
}

function finish() 
{

    document.getElementById('inputCivic').value = document.getElementById('tmpInputCivic').value;
    document.getElementById('inputPostalCode').value = document.getElementById('tmpInputPostalCode').value;
    document.getElementById('inputApt').value = document.getElementById('tmpInputApt').value;
    document.getElementById('inputStreet').value = document.getElementById('RoadNames').options[document.getElementById('RoadNames').selectedIndex].value;
    document.getElementById('inputCity').value = document.getElementById('tmpInputCity').value;
    document.getElementById('inputProvince').value = document.getElementById('tmpInputProvince').value;
    document.getElementById('inputCountry').value = document.getElementById('tmpInputCountry').value;
    showAdrLabels();

}

function continuebutton(lang) 
{

    if ((document.getElementById('tmpInputCivic').value == '') || (document.getElementById('tmpInputPostalCode').value == '')) 
    {
      if (lang == 'fr')
        alert("Veuillez compléter les informations de l'adresse");
      else
        alert('Please complete the missing address information');
    }
    else 
      //getRoadNames(document.getElementById('tmpInputPostalCode').value, document.getElementById('tmpInputCivic').value);
      jQuery.post('/Account/GetRoadNames', {CodPos: document.getElementById('tmpInputPostalCode').value, NoCivic: document.getElementById('tmpInputCivic').value}, function(data){ updateRoadNames(data, lang);} );
}       
   

function formatAdr() 
{
    var xCivic = document.getElementById('inputCivic').value;

    var xApt = "";
     
    var xStreet = document.getElementById('inputStreet').value;
    
    var xPrv = document.getElementById('inputProvince').value;
    var xCity = document.getElementById('inputCity').value;
    var xCountry = document.getElementById('inputCountry').value;
    var xPCode = document.getElementById('inputPostalCode').value.toUpperCase();

    
    if (document.getElementById('inputApt').value != '' && document.getElementById('inputApt').value != ' ') 
      xApt = '-'+document.getElementById('inputApt').value;        
             


    if ((xCivic != '') && (xStreet != '') && (xCity != '') && (xPrv != '')) 
    {
    
      document.getElementById('formatedAdrLabel').innerHTML = xCivic + xApt + ', ' +
                                                    xStreet + '<br />' +
                                                    xCity + ' (' +
                                                    xPrv + ')' + '<br />' +
                                                    xCountry + ', ' +
                                                    xPCode;
                                                    
    } 
}