/* ##############################<Validate Kontakt Form>####################################### */
function validateKontaktForm(fld){
	 retval=true;
	 setfocus=false;
	 if(fld && fld.value=="") 
	 	return false;
		arr_txt_flds=new Array('Name','E-Mail');
		for(i=0;i<arr_txt_flds.length;i++){
			if(document.getElementById(arr_txt_flds[i]).value == "" && (fld==null || fld==arr_txt_flds[i])){
				document.getElementById(arr_txt_flds[i]).className="input_error";				
				if(!setfocus) {
					setfocus=arr_txt_flds[i]
				}
				retval=false;
				if(fld) return false
        		}
        		else if(fld==null || fld==arr_txt_flds[i]){
            			document.getElementById(arr_txt_flds[i]).className="textfield";
        		}
		}
	 	
        if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById('E-Mail').value)){
            document.getElementById('E-Mail').className="textfield";
        }
        else if(fld==null || fld=='E-Mail') {
            document.getElementById('E-Mail').className="input_error";
            if(!setfocus) document.getElementById('E-Mail').focus();
            retval=false;
        }
	if(setfocus) {document.getElementById(setfocus).focus()};
	if(fld==null && retval==false){
		alert('*Required fields missing!!!')
	}
	return  retval;
}

/* ##############################</Validate Kontakt Form>####################################### */

// JavaScript Document
/*
function validateReservationFormOld(fld)
{
	 retval=true;
	 setfocus=false;
	 
	 if(fld && fld.value=="") 
	 	return false
	
		arr_txt_flds=new Array('Name','Email','Telephone')
		
		for(i=0;i<arr_txt_flds.length;i++){
			if(document.getElementById(arr_txt_flds[i]).value =="" && (fld==null || fld==arr_txt_flds[i])){
				document.getElementById(arr_txt_flds[i]).className="input_error";			
				
				if(!setfocus) {
					setfocus=arr_txt_flds[i]
				}
				retval=false;
				if(fld) return false
        		}
        		else if(fld==null || fld==arr_txt_flds[i]){
            			document.getElementById(arr_txt_flds[i]).className="textfield";
        		}
		}
     
	 	
        if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById('Email').value)){
                document.getElementById('Email').className="textfield";
        }
        else if(fld==null || fld=='Email') {
            document.getElementById('Email').className="input_error";
            if(!setfocus) document.getElementById('Email').focus();
            retval=false;
        }
	if(setfocus) {document.getElementById(setfocus).focus()};
	if(fld==null && retval==false){
		alert('*Required fields missing!!!')
	}
	return  retval;
}
*/

function validateReservationForm(){
	var isError=0;
	var errMessage="";
	if(jQuery("#start_date").val()!="" || jQuery("#end_date").val()!=''){
		
		var startTimeStamp=parseToDateFormat(jQuery("#start_date").val(),".");
		var endTimeStamp=parseToDateFormat(jQuery("#end_date").val(),".");
		var nowDate=new Date();
		var todayYear=nowDate.getFullYear();
		var todayMonth=nowDate.getMonth()+1;
		var todayDate=nowDate.getDate();
		var todayFullDate=todayDate+"."+todayMonth+"."+todayYear;
		var todayDateTimeStamp=parseToDateFormat(todayFullDate,".");
		
		if((jQuery("#start_date").val()!='' && startTimeStamp<=todayDateTimeStamp)){
			isError=1;
			jQuery("#start_date").addClass("input_error");
			errMessage+="Start date must be greater than today.\n";


			}
		else
			jQuery("#start_date").removeClass("input_error");
		
		if(jQuery("#end_date").val()!='' && endTimeStamp<=todayDateTimeStamp){
			isError=1;
			jQuery("#end_date").addClass("input_error");
			errMessage+="End date must be greater than today.\n";
			}
		else
			jQuery("#end_date").removeClass("input_error");
		
			
		if(startTimeStamp>endTimeStamp){
			isError=1;			
			jQuery("#end_date").addClass("input_error");
			errMessage+="End date must be greater than start date.\n";			
			}		
			
		if(isError==0){
			jQuery("#start_date").removeClass("input_error");
			jQuery("#end_date").removeClass("input_error");
			}		
		}	
	if(jQuery("#Name").val()=='Name *' || jQuery("#Name").val()==""){
		isError=1;
		jQuery("#Name").addClass("input_error");
		errMessage+="Name is required field.\n";
		}
	else
		jQuery("#Name").removeClass("input_error");
		
	if(jQuery("#Email").val()=='Email *' || isValidEmail(jQuery("#Email").val())==false){
		isError=1;
		jQuery("#Email").addClass("input_error");
		errMessage+="Email provided is invalid.\n";
		}
	else
		jQuery("#Email").removeClass("input_error");
		
	if(jQuery("#Telephone").val()=='Telephone *' || jQuery("#Telephone").val()==""){
		isError=1;
		jQuery("#Telephone").addClass("input_error");
		errMessage+="Telephone is required field.\n";
		}
	else
		jQuery("#Telephone").removeClass("input_error");
	if(isError){
		alert(errMessage);
		return false;
		}
	else
		return true;
	}

/*
* Date : 3 Dec, 2010
* Author: Rajan Maharjan
* Description: This function checks the regular expression for email pattern
* @params : email address  (String)
* returns true or false
*/	
function isValidEmail(strEmail){		
	strEmail=strEmail.toLowerCase();
	var myregEmail=/^([_a-z0-9-])+(\.[a-z0-9-]+)*@([a-z0-9-])+(\.[a-z0-9-]{1,})*\.([a-z]{2,}){1}/;
	return myregEmail.test(strEmail);
}

/*
* Date : 3 Dec, 2010
* Author: Rajan Maharjan
* Description: This function parse the date string to the timestamp
* @params : Date  (String), Separator
* returns timestamp in milliseconds
*/	
function parseToDateFormat(dateValue,separator){	
	var explodeVal=dateValue.split(separator);
	var dateDay=explodeVal[0];
	var myMonth=explodeVal[1];
	var myYear=explodeVal[2];
    temp1 = myMonth +"/"+ dateDay+"/"+ myYear;
    return Date.parse(temp1);      
}


