var actS = 0;

  var http_request = false;
   function makePOSTRequest(method,url, parameters,num) {
      http_request = false;
      if(window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
               // Set type accordingly to anticipated content type.
            http_request.overrideMimeType('text/xml');
            // http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         } 
      }
      if (!http_request) {
         alert('Cannot create XMLHttpRequest object');
         return false;
      }

     
	if(method=='GET'){
	 	http_request.onreadystatechange = alertContentsGet;
        http_request.open(method, url+parameters, true);
        http_request.send(null);
	}
}
function alertContentsPost() {
   if (http_request.readyState == 4) {
      if (http_request.status == 200) {
        alert('Response received from server:\n'+http_request.responseText);
        result = http_request.responseText;
   // Turn < and > into &lt; and &gt; for displaying on the page.
        result = result.replace(/\<([^!])/g, '&lt;$1');
        result = result.replace(/([^-])\>/g, '$1&gt;');
       document.getElementById('serverresponse').innerHTML = result;
    } else {
      alert('There was a problem with the request.' 
                    +http_request.responseText +' '+http_request.status);
      document.getElementById('serverresponse').innerHTML = http_request.responseText;
      }
   }
}

function alertContentsGet() {
      if (http_request.readyState == 4) {
      	
         if (http_request.status == 200) {
		 	
         	if(http_request.responseText=="errorGeneric"){
         		document.getElementById('error').innerHTML = "ERROR - field empty or invalid input";   
			}
         	else{
         		document.getElementById('error').innerHTML="";
				if (actS != 100) {
					goToFade(actS);
				}
         	}
         } else {
            alert('ERROR - DATA NOT SAVED');
         }
      }
   }


function goto(num){
	if(num==100)act=10;
	else if(num==7)act=12;
	else if(num==12)act=6;
	else if(num==4)act=11;
	else if(num==11)act=3;
	else act=num-1;
	actS=num;
	poststr = $('form_'+act).serialize();
	makePOSTRequest('GET','saveSession.php', '?'+poststr,num);
}

function goToFade(num){
	if(num==1){new Effect.Fade('data10',{afterFinishInternal:function(){new Effect.Appear('data1');$('data10').style.display='none';}});}
	if(num==2){new Effect.Fade('data1',{afterFinishInternal:function(){new Effect.Appear('data2');$('data1').style.display='none';}});}
	if(num==3){new Effect.Fade('data2',{afterFinishInternal:function(){new Effect.Appear('data3');$('data2').style.display='none';}});}
	if(num==11){new Effect.Fade('data3',{afterFinishInternal:function(){new Effect.Appear('data11');$('data3').style.display='none';}});}
	if(num==4){new Effect.Fade('data11',{afterFinishInternal:function(){new Effect.Appear('data4');$('data11').style.display='none';}});}
	if(num==5){new Effect.Fade('data4',{afterFinishInternal:function(){new Effect.Appear('data5');$('data4').style.display='none';}});}
	if(num==6){new Effect.Fade('data5',{afterFinishInternal:function(){new Effect.Appear('data6');$('data5').style.display='none';}});}
	if(num==12){new Effect.Fade('data6',{afterFinishInternal:function(){new Effect.Appear('data12');$('data6').style.display='none';}});}
	if(num==7){new Effect.Fade('data12',{afterFinishInternal:function(){new Effect.Appear('data7');$('data12').style.display='none';}});}
	if(num==8){new Effect.Fade('data7',{afterFinishInternal:function(){new Effect.Appear('data8');$('data7').style.display='none';}});}
	if(num==9){new Effect.Fade('data8',{afterFinishInternal:function(){new Effect.Appear('data9');$('data8').style.display='none';}});}
	if(num==10){new Effect.Fade('data9',{afterFinishInternal:function(){new Effect.Appear('data10');$('data9').style.display='none';}});}


}

//The following functiones were added Mar 2009
function unhide(element){
	if(element == "passport"){
		if(document.getElementById("py").checked == true){
			document.getElementById("visa").style.display = "inline";
			document.getElementById("nopassport").style.display = "none";
		}
		if(document.getElementById("pn").checked == true){
			document.getElementById("nopassport").style.display = "inline";
			document.getElementById("visa").style.display = "none";
		}
	} 
	if(element =="visa"){
		if(document.getElementById("vn").checked == true){
			document.getElementById("novisa").style.display = "inline";
			document.getElementById("entervisa").style.display = "none";
		} else if (document.getElementById("vy").checked == true){
			document.getElementById("entervisa").style.display = "inline";
			document.getElementById("novisa").style.display = "none";
		}
	}
	if(element=="datevalidator"){
		var d1 =	document.getElementById("date1").value;
		var d2 =	document.getElementById("date2").value;
		var d3 =	document.getElementById("date3").value;
		var d4 =	document.getElementById("date4").value;
		var d5 =	document.getElementById("date5").value;
		var dt1 =	d1.split("/");
		var dt2 =	d2.split("/");
		var dt3 =	d3.split("/");
		var dt4 =	d4.split("/");
		var dt5 =	d5.split("/");
		var dat1 =	dt1[2]+","+dt1[1]+","+dt1[0];
		var dat2 =	dt2[2]+","+dt2[1]+","+dt2[0];
		var dat3 =	dt3[2]+","+dt3[1]+","+dt3[0];
		var dat4 =	dt4[2]+","+dt4[1]+","+dt4[0];
		var dat5 =	dt5[2]+","+dt5[1]+","+dt5[0];
		var date1 =	new Date(dat1);
		var date2 =	new Date(dat2);
		var date3 =	new Date(dat3);
		var date4 =	new Date(dat4);
		var date5 =	new Date(dat5);
		var confdate = new Date(2009,6,10);
		//alert(+confdate+"  "+dat2);
		if(date1 > confdate || date2 > confdate || date3 > confdate || date4 > confdate || date5 > confdate){
			document.getElementById("validvisa").style.display = "inline";
			document.getElementById("novisa").style.display = "none";
			document.getElementById("need_visa").value = 0;
		} else{
			document.getElementById("novisa").style.display = "inline";
			document.getElementById("validvisa").style.display = "none";
			document.getElementById("need_visa").value = 1;
		}
	}
	if(element =="citz"){
		if(document.getElementById("ctzn").checked == true){
			document.getElementById("expvisa").style.display = "inline";
			document.getElementById("visawaiver").style.display = "none";
			document.getElementById("need_visa").value = 1;
		}else if(document.getElementById("ctzy").checked == true){
			document.getElementById("visawaiver").style.display = "inline";
			document.getElementById("expvisa").style.display = "none";
			document.getElementById("need_visa").value = 0;
		}
	}
}
//end 2009 addition