var errorMessages = new Array();
errorMessages['COMPANY'] = new Array();
errorMessages['COMPANY']['blank'] = 'Please enter company name'; 
errorMessages['COMPANY']['regexMessage'] = 'Please enter valid company name ';
errorMessages['COMPANY']['minLength'] = 'Company name should be atleast 2 characters';

errorMessages['ADDRESS'] = new Array();
errorMessages['ADDRESS']['blank'] = 'Please enter address';
errorMessages['ADDRESS']['minLength'] = 'Address should be atleast 2 characters';
errorMessages['ADDRESS']['maxLength'] = 'You can enter only 150 max characters for address';

errorMessages['CITY'] = new Array();
errorMessages['CITY']['blank'] = 'Please enter city name';
errorMessages['CITY']['regexMessage'] = 'Please enter valid city name ';
errorMessages['CITY']['minLength'] = 'City name should be atleast of 2 characters';
errorMessages['CITY']['maxLength'] = 'You can enter only 100 max characters for city';



errorMessages['STATE'] = new Array();
errorMessages['STATE']['blank'] = 'Please enter state name';
errorMessages['STATE']['regexMessage'] = 'Please enter valid state name ';
errorMessages['STATE']['minLength'] = 'State name should be atleast of 2 characters';

errorMessages['COUNTRY'] = new Array();
errorMessages['COUNTRY']['blank'] = 'Please select country'; 

errorMessages['YACHTTYPE'] = new Array();
errorMessages['YACHTTYPE']['blank'] = 'Please select yacht type'; 

errorMessages['YACHTNAME'] = new Array();
errorMessages['YACHTNAME']['blank'] = 'Please enter yacht name';
 
errorMessages['YACHTLENGTH'] = new Array(); 
errorMessages['YACHTLENGTH']['blank'] = 'Please enter yacht length';

errorMessages['FLAGSTATE'] = new Array();
errorMessages['FLAGSTATE']['blank'] = 'Please select flag state'; 

errorMessages['TOTALCREW'] = new Array();
errorMessages['TOTALCREW']['blank'] = 'Please enter total no. of crew';  

errorMessages['WEIGHT'] = new Array();
errorMessages['WEIGHT']['blank'] = 'Please enter yacht weight';  

errorMessages['POWER'] = new Array();
errorMessages['POWER']['blank'] = 'Please enter power rating';  

errorMessages['ISPRIVATE'] = new Array();
errorMessages['ISPRIVATE']['blank'] = 'Please select proper option';  


errorMessages['ZIPCODE'] = new Array();
errorMessages['ZIPCODE']['blank'] = 'Please enter zipcode';
errorMessages['ZIPCODE']['regexMessage'] = 'Please enter valid zipcode';
errorMessages['ZIPCODE']['minLength'] = 'Zipcode should be atleast of 2 characters';
errorMessages['ZIPCODE']['maxLength'] = 'You can enter only 10 max characters for zipcode';


errorMessages['PHONE'] = new Array();
errorMessages['PHONE']['blank'] = 'Please enter phone number';
errorMessages['PHONE']['regexMessage'] = 'Please enter valid phone number';

errorMessages['MOBILE'] = new Array();
errorMessages['MOBILE']['blank'] = 'Please enter mobile number';
errorMessages['MOBILE']['regexMessage'] = 'Please enter valid mobile number';

errorMessages['REQPOSITION'] = new Array();
errorMessages['REQPOSITION']['blank'] = 'Please enter position required';

errorMessages['YOURPOSITION'] = new Array();
errorMessages['YOURPOSITION']['blank'] = 'Please enter your position';

errorMessages['CRPHONEEXT'] = new Array();
errorMessages['CRPHONEEXT']['regexMessage'] = 'Please enter valid extension';

errorMessages['PMOBILE'] = new Array();
errorMessages['PMOBILE']['blank'] = 'Please enter mobile';
errorMessages['PMOBILE']['minLength'] = 'Mobile should be atleast 13 characters along with area code';
errorMessages['PMOBILE']['regexMessage'] = 'Please enter valid mobile';

errorMessages['PMOBILECODE'] = new Array();
errorMessages['PMOBILECODE']['blank'] = 'Please enter area code';
errorMessages['PMOBILECODE']['minLength'] = 'Area code should be atleast 3 characters';
errorMessages['PMOBILECODE']['regexMessage'] = 'Please enter valid area code';

errorMessages['PMOBILEPREFIX'] = new Array();
errorMessages['PMOBILEPREFIX']['blank'] = 'Please enter prefix';
errorMessages['PMOBILEPREFIX']['minLength'] = 'Prefix should be atleast 3 characters';
errorMessages['PMOBILEPREFIX']['regexMessage'] = 'Please enter valid prefix';

errorMessages['PMOBILEMAIN'] = new Array();
errorMessages['PMOBILEMAIN']['blank'] = 'Please enter phone';
errorMessages['PMOBILEMAIN']['minLength'] = 'Please enter valid phone';
errorMessages['PMOBILEMAIN']['regexMessage'] = 'Please enter valid phone';

errorMessages['URL'] = new Array();
errorMessages['URL']['regexMessage'] = 'Please enter valid web URL';

errorMessages['EMAIL'] = new Array();
errorMessages['EMAIL']['blank'] = 'Please enter email';
errorMessages['EMAIL']['regexMessage'] = 'Please enter valid email'; 
errorMessages['EMAIL']['maxLength'] = 'You can enter only 100 max characters for email';

errorMessages['USERNAME'] = new Array();
errorMessages['USERNAME']['blank'] = 'Please enter username';
errorMessages['USERNAME']['regexMessage'] = 'Please enter valid user name';
errorMessages['USERNAME']['minLength'] = 'Username should be atleast 2 characters';
errorMessages['USERNAME']['match'] = 'Username and password should not be the same';

errorMessages['SUBDOMAIN'] = new Array();
errorMessages['SUBDOMAIN']['blank'] = 'Please enter subdomain name';
errorMessages['SUBDOMAIN']['minLength'] = 'Subdomain name should be atleast 2 characters';
errorMessages['SUBDOMAIN']['regexMessage'] = 'Subdomian name should contain alpha numeric characters only, only lowercase characters allowed, space and other special characters not allowed.';

errorMessages['FIRSTNAME'] = new Array();
errorMessages['FIRSTNAME']['blank'] = 'Please enter first name';
errorMessages['FIRSTNAME']['regexMessage'] = 'Please enter valid first name';
errorMessages['FIRSTNAME']['minLength'] = 'First name should be atleast of 2 characters';

errorMessages['SURNAME'] = new Array();
errorMessages['SURNAME']['blank'] = 'Please enter surname';
errorMessages['SURNAME']['regexMessage'] = 'Please enter valid surname';

errorMessages['TITLE'] = new Array();
errorMessages['TITLE']['blank'] = 'Please select title';

errorMessages['CATNAME'] = new Array();
errorMessages['CATNAME']['blank'] 			= 'Please enter category name';
errorMessages['CATNAME']['regexMessage'] 	= 'Please enter valid title';
errorMessages['CATNAME']['minLength'] 		= 'Title should be atleast 2 characters';

errorMessages['PRODUCTNAME'] = new Array();
errorMessages['PRODUCTNAME']['blank'] 			= 'Please enter name';
errorMessages['PRODUCTNAME']['regexMessage'] 	= 'Please enter valid name';
errorMessages['PRODUCTNAME']['minLength'] 		= 'Name should be atleast 2 characters';

errorMessages['PRODUCTDESC'] = new Array();
errorMessages['PRODUCTDESC']['blank'] = 'Please enter description';
errorMessages['PRODUCTDESC']['minLength'] = 'Description should be atleast 5 characters';
errorMessages['PRODUCTDESC']['maxLength'] = 'You can enter only 1000 max characters for short description';

errorMessages['PASSWORD'] = new Array();
errorMessages['PASSWORD']['blank'] = 'Please enter password';
errorMessages['PASSWORD']['regexMessage'] = 'Please enter valid password';
errorMessages['PASSWORD']['minLength'] = 'Atleast 6 characters needed';
errorMessages['PASSWORD']['match'] = 'Username and password should not be the same';

errorMessages['CONFIRMPASSWORD'] = new Array();
errorMessages['CONFIRMPASSWORD']['mismatch'] = 'Confirmation failed';

errorMessages['CONFIRMEMAIL'] = new Array();
errorMessages['CONFIRMEMAIL']['mismatch'] = 'Email confirmation failed';

errorMessages['DOB'] = new Array();
errorMessages['DOB']['blank'] = 'Please enter Date of Birth';

errorMessages['GENDER'] = new Array();
errorMessages['GENDER']['blank'] = 'Please select gender';

errorMessages['MSTATUS'] = new Array();
errorMessages['MSTATUS']['blank'] = 'Please select marital status';

errorMessages['NATIONALITY'] = new Array();
errorMessages['NATIONALITY']['blank'] = 'Please select nationality'; 

errorMessages['LANGUAGE'] = new Array();
errorMessages['LANGUAGE']['blank'] = 'Please select Primary Language'; 

errorMessages['PROFICIENCY'] = new Array();
errorMessages['PROFICIENCY']['blank'] = 'Please select proficiency'; 

errorMessages['POSITIONSOUGHT'] = new Array();
errorMessages['POSITIONSOUGHT']['blank'] = 'Please enter current position'; 

errorMessages['POSITIONSEEKING'] = new Array();
errorMessages['POSITIONSEEKING']['blank'] = 'Please enter position seeking'; 

errorMessages['QUALIFICATION'] = new Array();
errorMessages['QUALIFICATION']['blank'] = 'Please select qualification'; 

errorMessages['YEXP'] = new Array();
errorMessages['YEXP']['blank'] = 'Please select years of Experience In Yachting'; 

errorMessages['SMOKE'] = new Array();
errorMessages['SMOKE']['blank'] = 'Please select an option'; 

errorMessages['ENG1EXPDATE'] = new Array();
errorMessages['ENG1EXPDATE']['blank'] = 'Please enter ENG-1 Expiry Date'; 

errorMessages['STCW95DETAIL'] = new Array();
errorMessages['STCW95DETAIL']['blank'] = 'Please enter required information for STCW-95';

errorMessages['REFERREENAME'] = new Array();
errorMessages['REFERREENAME']['blank'] = 'Enter referree name'; 

errorMessages['REFERREEPOS'] = new Array();
errorMessages['REFERREEPOS']['blank'] = 'Enter referree position'; 

errorMessages['REFERREEYACHT'] = new Array();
errorMessages['REFERREEYACHT']['blank'] = 'Enter referree yacht'; 

errorMessages['REFERREEEMAIL'] = new Array();
errorMessages['REFERREEEMAIL']['blank'] = 'Enter referree email';
errorMessages['REFERREEEMAIL']['regexMessage'] = 'Enter valid email'; 
errorMessages['REFERREEEMAIL']['maxLength'] = 'You can enter only 100 max characters for email';

errorMessages['REFERREEPHONE'] = new Array();
errorMessages['REFERREEPHONE']['blank'] = 'Enter referree phone'; 

errorMessages['VISAEXPDATE'] = new Array();
errorMessages['VISAEXPDATE']['blank'] = 'Please enter visa expiry date'; 

errorMessages['VISAOTHER'] = new Array();
errorMessages['VISAOTHER']['blank'] = 'Please enter other visa information'; 

errorMessages['CAPTCHA'] = new Array();
errorMessages['CAPTCHA']['blank'] = 'Please enter the code'; 

errorMessages['AVAILABILITYFROM'] = new Array();
errorMessages['AVAILABILITYFROM']['blank'] = 'Please enter date'; 

errorMessages['AVAILABILITYTO'] = new Array();
errorMessages['AVAILABILITYTO']['blank'] = 'Please enter date'; 

errorMessages['CURRENTLOCATION'] = new Array();
errorMessages['CURRENTLOCATION']['blank'] = 'Please enter Current city/port '; 


var isError = 0;

function validate(switchCase,id,errorId,regex,errorKey,checkLength,length,cmpId,checkCmp,checkMaxLength,maxLength,frmObj,inputName)
{
	var result = '';
	switch(switchCase)
	{
		case 1:
			result = validateText(id,regex,errorKey,checkLength,length,cmpId,checkCmp,checkMaxLength,maxLength);
		break;
		case 2:
			result = validateBox(id,regex,errorKey,checkMaxLength,maxLength);
		break;
		case 3:
			result = validateCombo(inputName,errorKey,frmObj);
		break;
	}
	
	if(result == 1)
	{
		return true;
	}
	else
	{
		showError(errorId,result);
		return false;
	}
}

function validateText(id,regex,errorKey,checkLength,length,cmpId,checkCmp,checkMaxLength,maxLength)
{
	var obj = document.getElementById(id);
	var regularExpression=validationRules[regex];
	var inCmp;

	if(checkCmp == 1  && Trim(cmpId) !='')
	{
		var recheck = document.getElementById(cmpId)
	}
	else if(checkCmp == 0  && Trim(cmpId) !='')
	{
		var recheck = document.getElementById(cmpId)
	}	
	else {
		var recheck = 'no';
	}
	
	if(Trim(obj.value) == '' && checkLength == 1)
	{
		// obj.focus();
		isError = 1;
		return errorMessages[errorKey]['blank'];
	}
	else if(checkLength == 1 && obj.value.length < length)
	{
		// obj.focus();
		isError = 1;
		return errorMessages[errorKey]['minLength'];
	}
	else if(checkMaxLength == 1 && obj.value.length > maxLength)
	{
		// obj.focus();
		isError = 1;
		return errorMessages[errorKey]['maxLength'];
	}
	else if(regex != '' && Trim(obj.value) != '') 
	{
		if(!regularExpression.test(Trim(obj.value)))
		{
			// obj.focus();
			isError = 1;
			return errorMessages[errorKey]['regexMessage'];
		}
		else 
		{
			return 1;
		}
	}
/*	else if(inCmp != 'no')
	{
*/		else if(checkCmp == 1 && obj.value != recheck.value )
		{
			// obj.focus();
			isError = 1;
			return errorMessages[errorKey]['mismatch'];
		}
		else if(checkCmp == 0 && obj.value == recheck.value )
		{
			// obj.focus();
			isError = 1;
			return errorMessages[errorKey]['match'];
		}
/*	}	*/
	else
	{
		return 1;
	}
}

function validateBox(formObj,fieldName,errorKey,checkMaxLength,maxLength)
{

	var flag = 0;

	if(formObj.length > 1) 
	{
		for(var i=0;i<formObj.length;i++)
		{
			if(formObj[i].checked == true)
			{
				flag++;
			}
		}
	}
	else 
	{
		if(formObj.checked ==  true) 
		{
			flag++;
		}
	}
	
	if(flag == 0)
	{
		isError = 1;
		return errorMessages[errorKey]['select'];
	}
	else
	{
		if(checkMaxLength == 1 && flag > maxLength)
		{
			// obj.focus();
			isError = 1;
			return errorMessages[errorKey]['maxLength1']+' '+maxLength+' '+errorMessages[errorKey]['maxLength2'];
		}
		else
		{
			return 1;
		}
	}

}

function validateCombo(id,errorKey,frmObj)
{
	var val = frmObj.elements[id].value;
	if(val == 0)
	{
		isError = 1;
		return errorMessages[errorKey]['select'];
	}
	else
	{
		return 1;
	}
}

function checkError(cnt)
{
	
/*	
	var errorFlag = 0;
	var id = '';
	
	for(var i=0;i<cnt;i++)
	{
		id = 'error'+i
		if(Trim(document.getElementById(id).innerHTML) != '')
		{
			errorFlag = 1;
		}
	}
	
	if(errorFlag == 0)
	{
		return true;
	}
	else
	{
		return false;
	}
*/
	if(isError == 0)
	{
		
		return true;
	}
	else
	{
		return false;
	}
}

function unsetIsError()
{
	isError = 0;
}

function showError(errorId,result)
{
	document.getElementById(errorId).style.display = 'block';
	document.getElementById(errorId).innerHTML = result;
}

function removeError(errorId)
{
	document.getElementById(errorId).style.display = 'none';
	document.getElementById(errorId).innerHTML = '';
}


function clearAllError() {
	var arr = $('#main .error');
	for (i = 0; i < arr.length; i++) {
	   arr[i].style.display = 'none';
	}	
}

function getElementsByClassName(classname, node)  {
    if(!node) node = document.getElementsByTagName("body")[0];
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for(var i=0,j=els.length; i<j; i++)
        if(re.test(els[i].className))a.push(els[i]);
    return a;
}
