/*
beforeerrorline = "<li>";
aftererrorline  = "</li>\n";
*/

beforeerrorline = "";
aftererrorline  = "\n";


// Custom coded
function formvalidator(){
	var returnvalue = '';
	var allInputs2 = $('#maindiv input');
	//alert(allInputs2.length);
	for(i=0; i <allInputs2.length; i++){
		if(allInputs2[i].value > 0){
			//alert(allInputs2[i].value);
			returnvalue = returnvalue + 'yes';
		}
	}
		//alert(returnvalue);
	if(returnvalue == ''){
		//alert("All fields are empty");
		return beforeerrorline + 'Please select valid quantity.' + aftererrorline;
	} else {
		//alert("Submit");
		return '';
	}
}






/****************************************************************/

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}








function validateEmpty(fld,msg,defaulttext,fldText) {
    var error = "";
    fldvalue = trim(fld.value);
    if (fldvalue.length == 0 || fldvalue==defaulttext) {
		if (fldText != '')
			document.getElementById(fldText).style.color = '#d31b00';
        fld.style.border = '1px solid #d31b00';
        error = beforeerrorline+msg+aftererrorline;
    } else {
	if (fldText != '')
		document.getElementById(fldText).style.color = '#2E2E29';
	fld.style.border = '1px solid #C6C6C6';
    }
    return error; 
}





function validateEmail(fld,fldText) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (fld.value == "") {
		if (fldText != '')
			document.getElementById(fldText).style.color = '#d31b00'; 
        fld.style.border = '1px solid #d31b00';
        error = beforeerrorline + "Please enter an email address." + aftererrorline;
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
		if (fldText != '')
			document.getElementById(fldText).style.color = '#d31b00'; 
        fld.style.border = '1px solid #d31b00';
        error = beforeerrorline + "Please enter a valid email address." + aftererrorline;
    } else if (fld.value.match(illegalChars)) {
		if (fldText != '')
			document.getElementById(fldText).style.color = '#d31b00'; 
        fld.style.border = '1px solid #d31b00';
        error = beforeerrorline + "The email address contains illegal characters." + aftererrorline;
    } else {
		if (fldText != '')
			document.getElementById(fldText).style.color = '#2E2E29'; // Default color
        fld.style.border = '1px solid #C6C6C6'; //default color
    }
    return error;
}



function comparePassword(fld1,fld2,fld1Text,fld2Text){
	var error="";
	
	fld1value = trim(fld1.value);
	fld2value = trim(fld2.value);
	
	
	
    if (fld1value.length == 0) {
		document.getElementById(fld1Text).style.color = '#d31b00'; 
		fld1.style.border = '1px solid #d31b00';
        error += beforeerrorline + "Password field is empty" + aftererrorline;
	}
    if (fld2value.length == 0) {
		document.getElementById(fld2Text).style.color = '#d31b00'; 
		fld2.style.border = '1px solid #d31b00';
        error += beforeerrorline + "Retype Password field is empty" + aftererrorline;
	}

	if (error == ''){
		if (!validatePassword(fld1)){
			document.getElementById(fld1Text).style.color = '#d31b00'; 
			fld1.style.border = '1px solid #d31b00';
			error += beforeerrorline + "Password cannot contain space" + aftererrorline;
		} else if (fld1value != fld2value) {
			document.getElementById(fld1Text).style.color = '#d31b00'; 
			document.getElementById(fld2Text).style.color = '#d31b00'; 
			fld1.style.border = '1px solid #d31b00';
			fld2.style.border = '1px solid #d31b00';
			error += beforeerrorline + "Password and Verify Password doesn't match." + aftererrorline;
		} else if (fld1value.length < 6 || fld2value.length < 6 ){
			document.getElementById(fld1Text).style.color = '#d31b00'; 
			document.getElementById(fld2Text).style.color = '#d31b00'; 
			fld1.style.border = '1px solid #d31b00';
			fld2.style.border = '1px solid #d31b00';
			error += beforeerrorline + "Password must be 6 charactors long" + aftererrorline;
		}
	}
	
	
	if(error == ''){
        fld1.style.border = '1px solid #C6C6C6'; //default color
        fld2.style.border = '1px solid #C6C6C6'; //default color
        document.getElementById(fld1Text).style.color = '#2E2E29'; //default color
        document.getElementById(fld2Text).style.color = '#2E2E29'; //default color
	}

    return error;
}




function validatePassword(fld){
	error='';
	fldvalue = fld.value;
	
	for(i=0;i<fldvalue.length;i++ ){
		if (fldvalue.charAt(i) == ' '){
			error = beforeerrorline + 'space in password' + aftererrorline;
		}
	}
	if (error != ''){
		return false;
	} else {
		return true;
	}
}




//function validateLimitField (theForm.file , '15' , '550' , 'File' ){
function validateLimitField(fld,minimum,maximum,fieldname,defaulttext,fldText){
	var error="";
	fldvalue = trim(fld.value);
	if(fldvalue == '' || fldvalue==defaulttext){
		error = "<li>" + fieldname + " is empty" + aftererrorline;
	} else if (fldvalue.length < minimum ) {
		error = "<li>" + fieldname + " must contain atleast " + minimum + " characters" + aftererrorline;
	} else if (fldvalue.length > maximum ) {
		error = "<li>" + fieldname + " must not bigger than " + minimum + " characters" + aftererrorline;
	}
	if (error != ""){
		document.getElementById(fldText).style.color = '#d31b00'; 
		fld.style.border = '1px solid #d31b00';
	} else {
        document.getElementById(fldText).style.color = '#2E2E29'; //default color
        fld.style.border = '1px solid #C6C6C6'; //default color
	}
	return error;
}


function validateFilefield(fld,msg,fldText){
	var error="";
	fldvalue = trim(fld.value);
	if (fldvalue == ''){
		error ="<li>" + msg + "" + aftererrorline;
	} else {
		error = validateFileExtension(fld);
	}
	
	if (error != ''){
		document.getElementById(fldText).style.color = '#d31b00';  // Error color
	} else {
		document.getElementById(fldText).style.color = '#2E2E29';  // Default color
	}
	return error;
}


function validateFileExtension(fld) {
	error="";
	if(!/(\.png|\.gif|\.jpg|\.jpeg|\.PNG|\.GIF|\.JPG|\.JPEG)$/i.test(fld.value)) {
		error = beforeerrorline + "Invalid image file type." + aftererrorline;
	}
	return error;
}


function validateCheckbox(fld,errortext,fldText) {
	error="";
	if(!fld.checked) {
		document.getElementById(fldText).style.color = '#d31b00'; 
		error = beforeerrorline + errortext + "" + aftererrorline;
	} else {
		document.getElementById(fldText).style.color = '#2E2E29'; // Default color
        //fld.style.border = '1px solid #C6C6C6'; //default color
	}
	
	
	return error;
}




function validateNumeric(fld, msg,fldText) {
	error = '';
	fldvalue = trim(fld.value);
	
	if (fldvalue == '' || !fldvalue.toString().match(/^[-]?\d*\.?\d*$/)){
		document.getElementById(fldText).style.color = '#d31b00';
		fld.style.border = '1px solid #d31b00';
		error = "<li>" + msg + "" + aftererrorline;
	} else {
		document.getElementById(fldText).style.color = '#2E2E29';
		fld.style.border = '1px solid #C6C6C6';
	}
	return error;
}






function validateDate(a_date,a_month,a_year, d_date,d_month,d_year,a_Text,d_Text){
	error = '';
	var current_date = new Date;
	
	
	
	
	a_dateValue  = a_date.value;
	a_monthValue = a_month.value - 1;
	a_yearValue  = a_year.value;
	d_dateValue  = d_date.value;
	d_monthValue = d_month.value - 1;
	d_yearValue  = d_year.value;
	
	var arrival_date = new Date();
	arrival_date.setDate(a_dateValue);
	arrival_date.setMonth(a_monthValue);
	arrival_date.setYear(a_yearValue);
	//alert(arrival_date);
	
	var departure_date = new Date();
	departure_date.setDate(d_dateValue);
	departure_date.setMonth(d_monthValue);
	departure_date.setYear(d_yearValue);
	//alert(departure_date);
	
	
	full_adate = arrival_date.getDate() + arrival_date.getMonth() + arrival_date.getYear() ;
	//alert (full_adate);
	
	
	if(arrival_date < current_date){
		
		document.getElementById(a_Text).style.color = '#d31b00';  // error color
		a_date.style.border = '1px solid #d31b00';  // error color
		a_month.style.border = '1px solid #d31b00';  // error color
		a_year.style.border = '1px solid #d31b00';  // error color

		error += beforeerrorline + "Please select valid Arrival Date</li>";
		
	} else if (arrival_date > departure_date ){
		
		document.getElementById(a_Text).style.color = '#2E2E29';  // default color
		a_date.style.border = '1px solid #C6C6C6';  // default color
		a_month.style.border = '1px solid #C6C6C6';  // default color
		a_year.style.border = '1px solid #C6C6C6';  // default color
		
		
		document.getElementById(d_Text).style.color = '#d31b00';  // error color
		d_date.style.border = '1px solid #d31b00';  // error color
		d_month.style.border = '1px solid #d31b00';  // error color
		d_year.style.border = '1px solid #d31b00';  // error color
		
		error += beforeerrorline + "Please select valid Departune Date</li>";
	} else {
		//error += "<li>done</li>";
	}
	
	if (error == ''){
		document.getElementById(d_Text).style.color = '#2E2E29';  // default color
		d_date.style.border = '1px solid #C6C6C6';  // default color
		d_month.style.border = '1px solid #C6C6C6';  // default color
		d_year.style.border = '1px solid #C6C6C6';  // default color
		
		document.getElementById(a_Text).style.color = '#2E2E29';  // default color
		a_date.style.border = '1px solid #C6C6C6';  // default color
		a_month.style.border = '1px solid #C6C6C6';  // default color
		a_year.style.border = '1px solid #C6C6C6';  // default color
	}
	
	
	
	
	
		return error;
}


function IsDateGreater(date,month,year,ms)
{
	datevalue = date.value;
	monthvalue = month.value;
	yearvalue = year.value;
	
	error = '';

	var DaysDiff;
	Date1 = new Date();
	Date1.setFullYear(yearvalue,monthvalue,datevalue);
	alert(Date1);
	
	Date2 = new Date();
	//Date2.setFullYear(yearvalue,monthvalue,datevalue);
	alert(Date2);
	

	if(Date1 == Date2){
		alert('match');
	} else if (Date1 != Date2){
		alert('not match');
	}
	


return error;
}





function validateRadio(RadioArray,msg,msgText) {
	error ='';
	CheckedValue='';
	for(i=0;i<RadioArray.length;i++) {
		if (RadioArray[i].checked == true)
			CheckedValue = RadioArray[i].value;
	}
	if (CheckedValue == ''){
		document.getElementById(msgText).style.color = '#d31b00';  // error color
		//d_date.style.border = '1px solid #d31b00';  // error color
		error = '<li>'+msg+'</li>';
	} else {
		document.getElementById(msgText).style.color = '#2E2E29';  // default color
	}
	
	return error;
	
}






function validateChecklist(CheckArray,msg,msgText) {
	error ='';
	CheckedValue='';
	//totalentry = '';
	for(i=0;i<CheckArray.length;i++) {
		if (CheckArray[i].checked == true){
			CheckedValue = CheckArray[i].value;
			//totalentry += CheckArray[i].value+"\n";
		}
	}
	if (CheckedValue == ''){
		document.getElementById(msgText).style.color = '#d31b00';  // error color
		//d_date.style.border = '1px solid #d31b00';  // error color
		error = '<li>'+msg+'</li>';
	} else {
		document.getElementById(msgText).style.color = '#2E2E29';  // default color
	}
	//alert(totalentry);
	return error;
	
}




function validateCheckArray(fld,msg,msgText){
	error = '';
	var p=0;
	for(i=0; i < fld.length;i++){
		if(fld[i].checked){
			p=1;
		}
	}

	if (p == 0){
		document.getElementById(msgText).style.color = '#d31b00';  // error color
		error += '<li>' + msg + '</li>' ;
	} else {
		document.getElementById(msgText).style.color = '#2E2E29';  // default color
	}
	return error;
}







