/*
------------------------
showCountry
showState
showDistrict
showTaluka
showVillage
------------------------
removeCountries
removeStates
removeDistricts
removeTalukas
removeVillages
------------------------
removeoptions
------------------------
reloadcountry
reloadstate
reloaddistrict
reloadtaluka
------------------------
reloadpagecountry
reloadpagestate
reloadpagedistrict
reloadpagetaluka
------------------------
stateChangedCountry
stateChangedState
stateChangedDistrict 
stateChangedTaluka
stateChangedVillage
------------------------
*/
//****************************************************************MANDATORY FUNCTIONS
		var xmlHttp;
		
		function GetXmlHttpObject()
		{
			  var xmlHttp=null;
			  try
			  {
			  	// Firefox, Opera 8.0+, Safari
			  	xmlHttp=new XMLHttpRequest();
			  }catch (e)
			  {
			  	// Internet Explorer
			 	 try
			    {
			    	xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			    }catch (e)
			    {
			    	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			    }
			  }
			  return xmlHttp;
		}

	   String.prototype.trim = function () 
	   {
  			return this.replace(/^\s*/, "").replace(/\s*$/, "");
       }; 
//***********************************************************************************  
//END OF MANDATORY FUNCTIONS 
//***********************************************************************************	   
	    function removeVillages()
	    { 
	            vlen=document.getElementById("village_city_town_PO").options.length;
	            var len="";
	            var id="";
			    for (var i=0; i<vlen; i++)
				{
					   document.getElementById("village_city_town_PO").options[i]=new Option(id,id,false,false);
			    }

		        len=document.getElementById("village_city_town_PO").options.length;
			    while(len>1)
			    {
				     for (var i=0; i<len; i++)
				     {
					   document.getElementById("village_city_town_PO").remove(i);
			         }//end for1
			         
			         len=document.getElementById("village_city_town_PO").options.length;
		        }  
	    }
//***********************************************************************************	    
function removeTalukas()
	    {
	            tlen=document.getElementById("taluka").options.length;
	            var len="";
	            var id="";
			    for (var i=0; i<tlen; i++)
				{
					   document.getElementById("taluka").options[i]=new Option(id,id,false,false);
			    }
		        len=document.getElementById("taluka").options.length;
			    while(len>1)
			    {
				     for (var i=0; i<len; i++)
				     {
					   document.getElementById("taluka").remove(i);
			         }//end for1
			         
			         len=document.getElementById("taluka").options.length;
		        }
	    }
//***********************************************************************************
 function removeDistricts()
	    {
	            dlen=document.getElementById("district").options.length;
	            var len="";
	            var id="";
			    for (var i=0; i<dlen; i++)
				{
					   document.getElementById("district").options[i]=new Option(id,id,false,false);
			    }
		        var len=document.getElementById("district").options.length;
			    while(len>1)
			    {
				     for (var i=0; i<len; i++)
				     {
					   document.getElementById("district").remove(i);
			         }//end for1
			         
			         len=document.getElementById("district").options.length;
		        }
	    }	    
//***********************************************************************************    
	    function removeStates()
	    {
	        //alert("removeStates");
	        slen=document.getElementById("statecbx").options.length;
            var len="";
            var id="";
            var i=0;
            for (i=0; i<slen; i++)
		    {
			   document.getElementById("statecbx").options[i]=new Option(id,id,false,false);
	        }
		    len=document.getElementById("statecbx").options.length;
		    while(len>1)
		    {
			     for (i=0; i<len; i++)
			     {
				   document.getElementById("statecbx").remove(i);
		         }//end for1
		         
		         len=document.getElementById("statecbx").options.length;
	        }
	    }
//***********************************************************************************  
 function removeCountries()
	    {
	        //alert("removeStates");
	        slen=document.getElementById("countrycbx").options.length;
            var len="";
            var id="";
            var i=0;
            for (i=0; i<slen; i++)
		    {
			   document.getElementById("countrycbx").options[i]=new Option(id,id,false,false);
	        }
		    len=document.getElementById("countrycbx").options.length;
		    while(len>1)
		    {
			     for (i=0; i<len; i++)
			     {
				   document.getElementById("countrycbx").remove(i);
		         }//end for1
		         
		         len=document.getElementById("countrycbx").options.length;
	        }
	    }
//***********************************************************************************        
function removeoptions(comboBox)
		{   
		 if(comboBox=="countrycbx")
		  { 
		     removeCountries();
             removeStates();
		     removeDistricts();
		     removeTalukas();
		     removeVillages();
		  }
		  if(comboBox=="statecbx")
		  { 
		     removeStates();
			 removeDistricts();
		     removeTalukas();
		     removeVillages();
		  }
		  if(comboBox=="district")
		  { 
		     removeDistricts();
		     removeTalukas();
		     removeVillages();
		  }
		  if(comboBox=="taluka")
		  {
		     removeTalukas();
		     removeVillages();
		  }
		  if(comboBox=="village_city_town_PO")
		  {
		     removeVillages();
		  }
	   }//end function
//***********************************************************************************  
 		function stateChangedCountry() 
		{ 
		   //alert("stateChangedCountry called....");
			if (xmlHttp.readyState==4)//if1
			{ 
			   		  //alert("after ready country ");
			   		  var a=xmlHttp.responseText;
			   		  //alert("country a1 = "+a);
			   		  
			    	  a=a.trim();
			          //code to remove options from combobox
				      var combobox = document.getElementById("countrycbx");
				      removeoptions("countrycbx");
				      
				      var len=a.length;
					  if(len!="0")//ifa
					 {  
						     len--;
						     var str=a.substr(0,len); 
						     //alert("str = "+str);
						     var sp=str.split(",");
			
						     var i=0;
						     var idarr=new Array();
						     var namearr=new Array();
						     for (i=0; i<sp.length; i++)
							{
							    var b2=sp[i].split(":");
							    for (var j=0; j<b2.length; j+=2)
								{
								   var id=b2[j];
								   id=id.trim();
								   var name=b2[j+1];
								   	name=name.trim();
								   //var ni="no="+(i+1)+" > "+name+" > "+id;
								    var ni=name;
							       	ni=ni.trim();
							       idarr[i]=id;
							       namearr[i]=ni;
								}//END FOR j
							}//END FOR i
							//alert("above country fillcombo...");
							fillcombo(idarr,namearr,"countrycbx");
					  }//end ifa	
			}//end if1
		}
//***********************************************************************************     
        function showCountry()
		{ 
			  //alert("show country called....");
			  xmlHttp=GetXmlHttpObject();
			  if (xmlHttp===null)
			  {
			   alert ("Your browser does not support AJAX!");
			   return;
			  } 
			var url="getcountry.jsp";
			xmlHttp.onreadystatechange=stateChangedCountry;
			xmlHttp.open("get",url,true);
			xmlHttp.send(null);
		}	
//***********************************************************************************		
	function stateChangedState() 
		{ 
		   //alert("stateChangedState called....");
			if (xmlHttp.readyState==4)//if1
			{ 
			   		  var a=xmlHttp.responseText;
			    	  a=a.trim();
			          //code to remove options from combobox
				      var combobox = document.getElementById("statecbx");
				      removeoptions("statecbx");
				      //end code
			   
				       var len=a.length;
					  if(len!="0")//ifa
					 {  
						     len--;
						     var str=a.substr(0,len); 
						     var sp=str.split(",");
			                 //alert("country a = "+a);
						     var i=0;
						     var idarr=new Array();
						     var namearr=new Array();
						     
						     for (i=0; i<sp.length; i++)
							{
							    var b2=sp[i].split(":");
							    for (var j=0; j<b2.length; j+=2)
								{
								   var id=b2[j];
								   id=id.trim();
								   var name=b2[j+1];
								   	 name=name.trim();
								   //var ni="no="+(i+1)+" > "+name+" > "+id;
								   var ni=name;
							         ni=ni.trim();
							         
								   idarr[i]=id;
							       namearr[i]=ni;
								}
							}
						fillcombo(idarr,namearr,"statecbx");
					  }//end ifa	
			}//end if1
		}	
//***********************************************************************************		
        function showState(str)
		{ 	
		    //alert("showState called....");
			xmlHttp=GetXmlHttpObject();
			  if (xmlHttp===null)
			  {
			   alert ("Your browser does not support AJAX!");
			   return;
			  } 
			var url="getstate.jsp";
			url=url+"?q="+str;
			url=url+"&sid="+Math.random();
			xmlHttp.onreadystatechange=stateChangedState;
			xmlHttp.open("get",url,true);
			xmlHttp.send(null);
		}	
//***********************************************************************************
		function stateChangedDistrict() 
		{ 
		  //alert("stateChangedDistrict called....");
			if (xmlHttp.readyState==4)
			{ 
			    var a=xmlHttp.responseText;
			     a=a.trim();
			     var combobox = document.getElementById("district");
			   removeoptions("district");
			    var len=a.length;
			    
			 if(len!="0")//ifa
			 {   
			    len--;
			    var str=a.substr(0,len); 
			    var sp=str.split(",");

			    var i=0;
			    var idarr=new Array();
			    var namearr=new Array();
			    
			     for (i=0; i<sp.length; i++)
				{
				   var b2=sp[i].split(":");
				    for (var j=0; j<b2.length; j+=2)
					{
					   var id=b2[j];
					   id=id.trim();
					   var name=b2[j+1];
					   name=name.trim();
					   //var ni="no="+(i+1)+" > "+name+" > "+id;
					   var ni=name;
				       ni=ni.trim();
				       
					   idarr[i]=id;
					   namearr[i]=ni;
					}
				}
				fillcombo(idarr,namearr,"district");
			}//end ifa
			}
		}			
//***********************************************************************************	  	
	    function showDistrict(str)
		{ 
		   //alert("showDistrict called....");
			xmlHttp=GetXmlHttpObject();
			if (xmlHttp==null)
			  {
			  	alert ("Your browser does not support AJAX!");
			  	return;
			  } 
			var url="getdistrict.jsp";
			url=url+"?q="+str;
			url=url+"&sid="+Math.random();
			xmlHttp.onreadystatechange=stateChangedDistrict;
			xmlHttp.open("GET",url,true);
			xmlHttp.send(null);
		}
//***********************************************************************************
		function showTaluka(str)
		{ 
			xmlHttp=GetXmlHttpObject();
			if (xmlHttp==null)
			  {
			  alert ("Your browser does not support AJAX!");
			  return;
			  } 
			var url="gettaluka.jsp";
			url=url+"?q="+str;
			url=url+"&sid="+Math.random();
			xmlHttp.onreadystatechange=stateChangedTaluka;
			xmlHttp.open("GET",url,true);
			xmlHttp.send(null);
		}	
//***********************************************************************************		
		function stateChangedTaluka() 
		{ 
			if (xmlHttp.readyState==4)
			{ 
			    var a=xmlHttp.responseText;
			    a=a.trim();
			     var combobox = document.getElementById("taluka");
			     removeoptions("taluka");
			    var len=a.length;
			 if(len!="0")//ifa
			 {     
			    len--;
			    var str=a.substr(0,len); 
			    var sp=str.split(",");

			     var i=0;
			     var idarr=new Array();
			     var namearr=new Array();
			     
			     for (i=0; i<sp.length; i++)
				{
				    var b2=sp[i].split(":");
				    for (var j=0; j<b2.length; j+=2)
					{
					   var id=b2[j];
					   id=id.trim();
					   var name=b2[j+1];
					   name=name.trim();
					   //var ni="no="+(i+1)+" > "+name+" > "+id;
					   var ni=name;
				       ni=ni.trim();
				       
					   idarr[i]=id;
					   namearr[i]=ni;
					}
				}
				fillcombo(idarr,namearr,"taluka");
			}//end ifa
		  }	
		}
//***********************************************************************************
		function showVillage(str)
		{ 
			xmlHttp=GetXmlHttpObject();
			if (xmlHttp==null)
			  {
			  alert ("Your browser does not support AJAX!");
			  return;
			  } 
			var url="getvillage.jsp";
			url=url+"?q="+str;
			url=url+"&sid="+Math.random();
			xmlHttp.onreadystatechange=stateChangedVillage;
			xmlHttp.open("GET",url,true);
			xmlHttp.send(null);
		}
//***********************************************************************************
		function stateChangedVillage() 
		{ 
			        if (xmlHttp.readyState==4)
					{   
					    var a=xmlHttp.responseText;
					    a=a.trim();
					    //code to remove options from combobox
					     var combobox = document.getElementById("village_city_town_PO");
					     removeoptions("village_city_town_PO");

					     var len=a.length;
				    if(len!="0")//ifa
				    {
					    	len--;
					    	var str=a.substr(0,len); 
					    	var sp=str.split(",");
					     	var i=0;
					     	
					     	var idarr=new Array();
			     			var namearr=new Array();
			     			
					    for (i=0;i<sp.length;i++)
						{
						    //alert("here....");
						    var b2=sp[i].split(":");
						    for (var j=0; j<b2.length; j+=2)
							{
							   var id=b2[j];
							   id=id.trim();
							   var name=b2[j+1];
							   name=name.trim();
							  //var ni="no="+(i+1)+" > "+name+" > "+id;
							  var ni=name;
						       ni=ni.trim();
							   
							   idarr[i]=id;
					           namearr[i]=ni;
							}
						}
						fillcombo(idarr,namearr,"village_city_town_PO");
					}
				 }//endifa	
		}		
//------------------------------------------------------------------RELOAD PARAMETERS FUNCTIONSfunction reloadpagestate()
        function reloadpagecountry(pgname)
        {
           var cbx=document.form1.countrycbx.value;
           window.location=pgname+"?countrycbx="+cbx;
        }
        function reloadpagestate(pgname)
        {
           var cbx=document.form1.countrycbx.value;
           var sbx=document.form1.statecbx.value;
           window.location=pgname+"?countrycbx="+cbx+"&statecbx="+sbx;
        }
        function reloadpagedistrict(pgname)
        {
           var cbx=document.form1.countrycbx.value;
           var sbx=document.form1.statecbx.value;
           var dbx=document.form1.district.value;
           window.location=pgname+"?countrycbx="+cbx+"&statecbx="+sbx+"&district="+dbx;
        }
        function reloadpagetaluka(pgname)
        {
           var cbx=document.form1.countrycbx.value;
           var sbx=document.form1.statecbx.value;
           var dbx=document.form1.district.value;
           var tbx=document.form1.taluka.value;
           window.location=pgname+"?countrycbx="+cbx+"&statecbx="+sbx+"&district="+dbx+"&taluka="+tbx;
        }
//------------------------------------------------------------------END OF RELOAD PARAMETERS FUNCTIONS        
//------------------------------------------------------------------RELOAD FUNCTIONS
        function reloadcountry(pgname)
        {
           var url="";
           var cbx=document.form1.countrycbx.value;
           if(cbx=="")
           {
          		window.location=pgname;
           }
        }
        
         function reloadstate(pgname)
        {
           var cbx=document.form1.countrycbx.value;
           var sbx=document.form1.statecbx.value;
           var url="";
           var params="";
           if(sbx=="")
           {
          		window.location=pgname+"?countrycbx="+cbx;
           }	
        }
        function reloaddistrict(pgname)
        {
           var cbx=document.form1.countrycbx.value;
           var sbx=document.form1.statecbx.value;
           var dbx=document.form1.district.value;
           if(dbx=="")
          		window.location=pgname+"?countrycbx="+cbx+"&statecbx="+sbx;
        }
        
        function reloadtaluka(pgname)
        {
           var cbx=document.form1.countrycbx.value;
           var sbx=document.form1.statecbx.value;
           var dbx=document.form1.district.value;
           var vbx=document.form1.taluka.value;
           
           if(vbx=="")
          		window.location=pgname+"?countrycbx="+cbx+"&statecbx="+sbx+"&district="+dbx;
        }
//------------------------------------------------------------------END OF RELOAD FUNCTIONS       