window.onload = attachFormHandlers;

var gShow;
var sUrl = "formvalidation.php?val=";
var gErrors = 0; 
var http = getHTTPObject();



function attachFormHandlers()
{
	var form = document.getElementById('booking') 

	if (document.getElementsByTagName)
	{
		var objInput = document.getElementsByTagName('input');
		for (var iCounter=0; iCounter<objInput.length; iCounter++)
		{
		if (objInput[iCounter].id)
		objInput[iCounter].onblur = function(){return validateMe(this);
		}
		} 
	}
	form.onsubmit = function(){return validate();} 
}



function validateMe(objInput) {
	
		var field = objInput.name + 's';
		document.getElementById(field).style.color = '#FFFFFF';

	sVal = objInput.value; 
	
	sRules = objInput.className.split(' '); 
	sRequired = sRules[1]; 
	sTypeCheck = sRules[2]; 
    gShow = sRules[3]; 
  
	http.open("GET", sUrl + (sVal) + "&sRequired=" + (sRequired) + "&sTypeCheck=" + sTypeCheck, true);
  
	http.onreadystatechange = handleHttpResponse;  
	http.send(null);  
}


function handleHttpResponse() {
	
	if (http.readyState == 4) 
  	{
		
  		sResults = http.responseText.split(",");  
    	document.getElementById(gShow).innerHTML = "";
		document.getElementById(gShow).appendChild(document.createTextNode(sResults[0]));
  	}
}


function validate()
{
var tables; 

tables = document.getElementsByTagName('td')
var objInput = document.getElementsByTagName('input');
var objSelect = document.getElementsByTagName('select');
var objRadio = document.getElementsByTagName('radio');

for (i=0; i<objInput.length; i++)
	{
		if (objInput[i].id)
		{
			var star = objInput[i].name + 's';
			
			if (objInput[i].value == '')
			{
				document.getElementById(star).style.color = '#CFB75F';
				gErrors = gErrors + 1;
			}
			else
			{
				document.getElementById(star).style.color = '#FFFFFF';
				
			}
		}
		}


for (i=0; i<tables.length; i++) 
	{
		
		if (tables[i].className == "rules")
		{
			
			if (tables[i].innerHTML == '' )
			{
				tables[i].style.color = '#CFB75F';
			}
			else
			{
				gErrors = gErrors + 1; 
				tables[i].style.color = '#FFFFFF';
			}
		}
	}


for (i=0; i<objSelect.length; i++)
	{
		if (objSelect[i].id)
		{
			var starloc = objSelect[i].name + 'd';
			
			if (objSelect[i].value == 'loc')
			{
				document.getElementById(starloc).style.color = '#CFB75F';
				gErrors = gErrors + 1;
			}
			else
			{
				document.getElementById(starloc).style.color = '#FFFFFF';
				
			}
		}
		}

				
	if (gErrors > 0)
	{
		
		alert ("Please check the mandatory fields(*)!");
		gErrors = 0;
		return false;
	}

	}
	
		  	
	
//***********************************
function checkemail(){
var cemail=document.booking.email.value;
if (cemail.length > 1 )
{

if(cemail.indexOf('_@')!=-1 || cemail.indexOf('@_')!=-1 || cemail.indexOf('_.')!=-1 || cemail.indexOf('-@')!=-1 || cemail.indexOf('@-')!=-1 || cemail.indexOf('-.')!=-1)
{
alert("Please enter a valid e-mail address!\n\n Ex: me@noname.com");
booking.email.focus();
return false;
}

var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

if (filter.test(cemail))
return true;
else
{
alert("Please enter a valid e-mail address!\n\n Ex: me@noname.com");
booking.email.focus();
return false;
}
}
}



function getHTTPObject() {
	var xmlhttp;
	/*@cc_on
	@if (@_jscript_version >= 5)
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try 
		{
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
		xmlhttp = false;
		}
	}
	return xmlhttp;
}


function DateofBirth(){
var strdob = document.booking.dob.value;
target=booking.dob;
if(strdob.length > 1)
{

var notvalid;
		for (var i=0, notvalid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()=-[]\\\';,.{}|\":<>?"; i<strdob.length; i++)
		{
       		if (notvalid.indexOf(strdob.charAt(i)) != -1)
		{
			alert("Lütfen sadece rakam ve (/) isaretini kullaniniz!");
			target.focus(); 
			return false;
		}
		}

if (strdob.indexOf('/')==-1 || strdob.indexOf('/') > 2 ){
alert("Lütfen dogum tarihinizi yan tarafta belirtilmis olan formata göre giriniz!");
return false;
target.focus();
}
else
{
slasha = strdob.substring(2,3);
slashb = strdob.substring(5,6);



if (slasha != "/" || slashb != "/"){
alert ("Lütfen dogum tarihinizi yan tarafta belirtilmis olan formata göre giriniz!")
return false;
target.focus();
}
else
{
slash1 = strdob.substring(0,1);
slash2 = strdob.substring(1,2);
slash3 = strdob.substring(3,4);
slash4 = strdob.substring(4,5);
slash5 = strdob.substring(6,7);
slash6 = strdob.substring(7,8);
slash7 = strdob.substring(8,9);
slash8 = strdob.substring(9,10);

if (slash1 == "/" || slash2 == "/" || slash3 == "/" || slash4 == "/" || slash5 == "/" || slash6 == "/" || slash7 == "/" || slash8 == "/"){
alert ("Lütfen dogum tarihinizi yan tarafta belirtilmis olan formata göre giriniz!")
return false;
target.focus();
}
}
}
}
}

function checkchar(pass){
if (pass==1)
{
field=document.booking.first.value;
target=booking.first;
var msg="Please do not enter numbers and special characters!"
}

if (pass==2)
{
field=document.booking.last.value;
target=booking.last;
var msg="Please do not enter numbers and special characters!"
}

		var notvalid;
		for (var i=0, notvalid="0123456789!@#$%^&*()+=-[]\\\';,./{}|\":<>?"; i<field.length; i++)
		{
       		if (notvalid.indexOf(field.charAt(i)) != -1)
		{
			alert(msg);
			target.focus(); 
			return false;
		}
		}
		

}

function checknum(num){

if (num==1)
{
field=document.booking.phone.value;
target=booking.phone;
var msg="PLease use only (+ -) signs!\nand do not enter less then 7 digits!"
}

if (num==2)
{
field=document.booking.fax.value;
target=booking.fax;
var msg="PLease use only (+ -) signs!\nand do not enter less then 7 digits!"
}

var notvalid;
		for (var i=0, notvalid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()=[]\\\';,./{}|\":<>?"; i<field.length; i++)
		{
       		if (notvalid.indexOf(field.charAt(i)) != -1)
		{
			alert(msg);
			target.focus(); 
			return false;
		}
		}
		
		if ( field.length < 7 ) {
			alert(msg);
			target.focus(); 
			return false;
		}
}
