// JavaScript Document
var initMsg = '';
var msgs = '';

function resetMsgs(mainMsg) 
{
	msgs = "";
	isSubmit = true;
	initMsg = mainMsg;
}

function isBlank(formVar, fieldList, capList, capMsgSuff) 
{
	var len = fieldList.length;
	var curMsg = "";
	for(var i=0; i<len; i++) 
	{
		var curField = fieldList[i];	
		var curValue = formVar.elements[curField].value;
		var isBlank = true;
		for(var j=0; j < curValue.length; j++)	
		{
			var c = curValue.charAt(j);
			if((c!=' ')&&(c!="\n")&&(c!="\t")) 
			{
				isBlank = false;
				break;
			}
		}
		if(isBlank==true) 
		{
			if(curMsg)
				curMsg += "\n--> "+ capList[i] + " " + capMsgSuff;
			else
				curMsg += "--> "+ capList[i] + " " + capMsgSuff;

//			setErrorStyle(curField);
		}
//		else
//			setDefStyle(curField);

//		focusField = fieldList[0]
	}
	if(curMsg!="")
	{
		addMsg(curMsg);
		return false;
	}
	return true;
}

function validateEmail(formVar, fieldList, capList, capMsgSuff) 
{
	var len = fieldList.length;
	var curMsg = "";
	for(var i=0; i<len; i++) 
	{
		var curField = fieldList[i];
		var curValue = formVar.elements[curField].value;

		if(curValue!="") 
		{
			var isValid = true;
   			if (!(/^.+@.+\..{2,4}$/.test(curValue))) 
				isValid = false;

			if (curValue.match(/[\(\)\<\>\,\;\:\\\/\"\[\]]/)) 
				isValid = false;

    		if(!isValid)
    			curMsg += "\n--> "+ capList[i] + " " + capMsgSuff;
   		}
	}

   	if(curMsg!="")
	{
		addMsg(curMsg);
		return false;
	}
return true;
}

function verifyFields(formVar, fieldList, verifyList, capList, verifyCapList, capMsgSuff)
{
	var len = fieldList.length;
	var curMsg = "";
	for(var i=0; i<len; i++) 
	{
		var curField = fieldList[i];
		var verifyField = verifyList[i];
		var curValue = formVar.elements[curField].value;
		var verifyValue = formVar.elements[verifyField].value;
		
		if(curValue != "" && verifyValue != "")
		{
			if(curValue != verifyValue) 
			{
				curMsg += "\n--> "+ capList[i] + " and "+ verifyCapList[i] + capMsgSuff;
			}
		}
	}

   	if(curMsg!="")
	{
		addMsg(curMsg);
	}
}

function validatePhoneNumber(formVar, fieldList, capList, capMsgSuff)
{
	var len = fieldList.length;
	var curMsg = "";
	for(var i = 0; i < len; i++)
	{
		var curField = fieldList[i];
		var curValue = formVar.elements[curField].value;

		if(curValue != "")
		{
			if(! (curValue.match(/^([0-9]{3,4}-[0-9]{3,4}-[0-9]{4})$/) ))
			{
   				curMsg += "\n--> "+ capList[i] + " " + capMsgSuff;
   			}
   		}
	}

   	if(curMsg != "")
   	{
		addMsg(curMsg);
	}
}

function validateNumber(formVar, fieldList, capList, capMsgSuff)
{
	var len = fieldList.length;
	var curMsg = "";
	for(var i = 0; i < len; i++)
	{
		var curField = fieldList[i];
		var curValue = formVar.elements[curField].value;

		if(curValue != "")
		{
			if(! (curValue.match(/^(0|-?[1-9][0-9]*(\.[0-9]{1,5})?)$/) ))
			{
   				curMsg += "\n--> "+ capList[i] + " " + capMsgSuff;
   			}
   		}
	}

   	if(curMsg != "")
   	{
		addMsg(curMsg);
	}
}

function setErrorStyle(fieldName) 
{
	document.getElementByName(fieldName).style.bgcolor="red";
}

function setDefStyle(fieldName) 
{
	document.getElementById(fieldName).style.color="#4f4f4f";
}

function setFocus(formVar,fieldName) 
{
	formVar.elements[fieldName].focus()
}

function showMsgs() 
{
	if(msgs!="") 
	{
		msgs = initMsg + msgs;
		alert(msgs);
		return false;
	}
	return true;
}

function addMsg(localMsg) 
{
//	msgs = msgs+localMsg;
	msgs = localMsg;
}

function CheckAll(f, obj)
{
	var ml = f;
	var len = ml.elements.length;
	for (var i = 0; i < len; i++)
	{
		var e = ml.elements[i];
		if (e.name == obj)
		{
			Check(e);
		}
	}
	ml.toggleAll.checked = true;
}

function ClearAll(f, obj)
{
	var ml = f;
	var len = ml.elements.length;
	for (var i = 0; i < len; i++)
	{
		var e = ml.elements[i];
		if (e.name == obj)
		{
			Clear(e);
		}
	}
	ml.toggleAll.checked = false;
}
function valLogin(item)
{
	fieldList = ['email','password'];
	if(!isBlank(item, fieldList, fieldList, 'is required.'))
	{
		showMsgs();
		return false;
	}
	return true;
}
function valReg(item)
{
	var fieldList = ['company_name','contact_name','address','city','postcode','code','telephone','driver_number','email','confirm_email','password','confirm_password'];
	
	var capList = ['Company Name','Contact Name', 'Address', 'City', 'Postcode', 'Area Code', 'Phone Number', 'Driver accreditation Number field', 'Email address', 'Confirm email address', 'Password', 'Confirm Password'];
	
	if(!isBlank(item, fieldList, capList, 'is required.'))
	{
		showMsgs();
		return false;
	}
	if(item.email.value != item.confirm_email.value)
	{
		alert('Email and Confirm Email address are not same.');
		return false;
	}
	if(item.password.value != item.confirm_password.value)
	{
		alert('Password and Confirm Password did not match.');
		return false;
	}
	
	/*if(document.getElementById('clogo').value!='')
	{
		if( (document.getElementById('clogo').value.split('.')[1]!='jpg') && (document.getElementById('clogo').value.split('.')[1]!='jpeg') && (document.getElementById('clogo').value.split('.')[1]!='JPG') &&
	(document.getElementById('clogo').value.split('.')[1]!='gif') && (document.getElementById('clogo').value.split('.')[1]!='JPEG') && (document.getElementById('clogo').value.split('.')[1]!='png') && (document.getElementById('clogo').value.split('.')[1]!='PNG'))
		{ 
			alert("Sorry, This type of file is not allowed to upload."); 				
			return false; 
		}
	}*/
	var chk=0,len=0;
	len=parseInt(item.vlenght.value);
	
	for(var k=1;k<len;k++)
	{
			
		if(document.getElementById("V"+k).checked == true)
		{
			chk=chk+1;			
		}
	}
	
	if(chk<=0)
	{
			alert("Please Selcet Vehicles in Fleet");
			return false;
	}
	
	if(item.insurance.checked == false || item.practitoner.checked == false || item.optometrist.checked == false)
	{
		alert('Please select all checkboxes');
		return false;
	}
	
	if(item.nsw.checked == false && item.act.checked == false && item.vct.checked == false && item.sa.checked == false && item.ql.checked == false && item.nt.checked == false && item.wa.checked == false && item.ta.checked == false)
	{
		alert('Please select service region(s)');
		return false;
	}
    
    if(item.terms.checked == false)
	{
		alert('Please select terms to agree with terms and condition');
		return false;
	}
	
	return true;
}

function valRegUpdate(item)
{
	var fieldList = ['company_name','contact_name','address','city','postcode','code','telephone','driver_number'];
	
	var capList = ['Company name','Contact name','Address','City','Postal code', 'Telephone area code','Phone no','Driver accreditation number'];

	if(!isBlank(item, fieldList, capList, 'is required.'))
	{
		showMsgs();
		return false;
	}
	if(item.password.value != item.confirm_password.value)
	{
		alert('Password and Confirm Password did not match.');
		return false;
	}
	
	var chk=0,len=0;
	len=parseInt(item.vlenght.value);
	
	for(var k=1;k<len;k++)
	{
			
		if(document.getElementById("V"+k).checked == true)
		{
			chk=chk+1;			
		}
	}
	
	if(chk<=0)
	{
			alert("Please Selcet Vehicles in Fleet");
			return false;
	}

	/*if(item.insurance.checked == false || item.practitoner.checked == false || item.optometrist.checked == false)
	{
		alert('Please select all checkboxes');
		return false;
	}*/
	
/*	if(document.getElementById('logoA').value!='')
	{
	
	if( (document.getElementById('logoA').value.split('.')[1]!='jpg') && (document.getElementById('logoA').value.split('.')[1]!='jpeg') && (document.getElementById('logoA').value.split('.')[1]!='JPG') &&
			(document.getElementById('logoA').value.split('.')[1]!='gif') && (document.getElementById('logoA').value.split('.')[1]!='JPEG') && (document.getElementById('logoA').value.split('.')[1]!='png') && (document.getElementById('logoA').value.split('.')[1]!='PNG'))
	
	{ 
		alert("Sorry, This type of file is not allowed to upload."); 				
		return false; 
	}
	
}*/
	return true;
}
function valSearch(item)
{
	var fieldList = ['name','email','phone1','phone2','service_date','pick_address','pick_sunurb','pick_time','drop_address','drop_address','drop_time','passengers','service_type'];
	
	var capList = ['Name', 'Email address', 'Area code', 'Phone number', 'Service date', 'Pick up address','Pick up Suburb', 'Pick up time','Drop off address','Drop off Suburb', 'Drop off time', 'Number of passengers','Service type'];
	
	if(!isBlank(item, fieldList, capList, 'is required.'))
	{
		showMsgs();
		return false;
	}
	if(!validateEmail(item, ['email'], ['Email address'], 'is not valid, please enter valid Email address'))
	{
		showMsgs();
		return false;
	}

	return true;
}

function valPwd(item)
{
	fieldList = ['email'];
	if(!isBlank(item, fieldList, fieldList, 'is required.'))
	{
		showMsgs();
		return false;
	}
	return true;
}