//*********************************************************************************
// Title: 				contact form validator
// Desc: 				Modified version of http://www.cibc.com/ca/js/contact-us.js for World Markets
// Created : 			October 3, 2005
// Last Modified: 		October 3, 2005
//*********************************************************************************	/

function maxCharTrim(){
	document.getElementById('emptyQ').className = 'hiddenError';
	if((document.contactUsForm.Question.value).length > 900){
		document.contactUsForm.Question.value = String(document.contactUsForm.Question.value).substr(0, 900);
		document.getElementById('lngthQ').className = 'visibleError';
	}else{
		document.getElementById('lngthQ').className = 'hiddenError';	
	}
}

function validateForm(){
	// NS4		
	if ((navigator.userAgent.indexOf("Win") != -1) && (navigator.appName == "Netscape") && (navigator.appVersion.charAt(0) == "4")) {
		var errMessage = '';
		// EMAIL		
		if (document.contactUsForm.Email.value == '') {
			errMessage += 'Please provide your email address. If you are unable to provide an email address our PC Banking Customer Support specialists are available to answer your questions at any time. Please call 1-888-8PC-CIBC (1-888-872-2422) for assistance.\n';
		}else if (!patternValidate(document.contactUsForm.Email.value, 'email')) {
			errMessage += 'You have entered an invalid e-mail address. Please re-enter your e-mail address.\n';
		}else if(document.contactUsForm.Email.value.toLowerCase().indexOf("@cibc.com") >= 0 || document.contactUsForm.Email.value.toLowerCase().indexOf("@cibc.ca") >= 0){
			errMessage += 'We\'re Sorry. We cannot accept cibc.com or cibc.ca email addresses. For assistance please call 1-800-465-2422.\n';			
		}else if (document.contactUsForm.Email.value != document.contactUsForm.UserEmailConf.value){
			errMessage += 'The e-mail address you entered does not match the e-mail address you entered above. Please re-enter your e-mail address.\n';			
		}else if (document.contactUsForm.Question.value.length > 900){
			errMessage += 'You have entered over 900 characters.  The maximum number of characters allowed for this field is 900, please revise your message.\n';			
		}
		//Message
		if (document.contactUsForm.Question.value == '') {
			errMessage += 'Please enter your question.\n';
		} else if (!patternValidate(document.contactUsForm.Question.value, 'multiLineGenricText')) {
			errMessage += 'You have entered an invalid character. Please re-enter your information.\n';
		}

		// An error occured, so we alert the user
		if(errMessage !='') {
			alert(errMessage);
		} else {
			document.contactUsForm.Question.value = illegalCharReplace(document.contactUsForm.Question.value);
			document.contactUsForm.submit();
		}
	}

	// Everything else
	else {
		// hide all error messages
		document.getElementById('emptyEA').className = 'hiddenError';
		document.getElementById('cibcEA').className = 'hiddenError';
		document.getElementById('invEA').className = 'hiddenError';
		document.getElementById('invCEA').className = 'hiddenError';
		document.getElementById('invQ').className = 'hiddenError';
		document.getElementById('emptyQ').className = 'hiddenError';
		document.getElementById('lngthQ').className = 'hiddenError';
		// error flag	
		var error = false;
		//EMAIL
		if (document.contactUsForm.Email.value == '') {
			error = true;
			document.getElementById('emptyEA').className = 'visibleError';
		}else if (!patternValidate(document.contactUsForm.Email.value, 'email')) {
			error = true;
			document.getElementById('invEA').className = 'visibleError';
		}else if(document.contactUsForm.Email.value.toLowerCase().indexOf("@cibc.com") >= 0 || document.contactUsForm.Email.value.toLowerCase().indexOf("@cibc.ca") >= 0){
			error = true;
			document.getElementById('cibcEA').className = 'visibleError';
		}else if (document.contactUsForm.Email.value != document.contactUsForm.UserEmailConf.value){
			error = true;
			document.getElementById('invCEA').className = 'visibleError';
		}

		//Message
		if (document.contactUsForm.Question.value == '' || document.contactUsForm.Question.value == 'Please limit your question to 900 characters') {
			error = true;
			document.getElementById('emptyQ').className = 'visibleError';
		} else if (!patternValidate(document.contactUsForm.Question.value, 'multiLineGenricText')) {
			error = true;
			document.getElementById('invQ').className = 'visibleError';
		}else if (document.contactUsForm.Question.value.length > 900){
			error = true;
			document.contactUsForm.Question.value = String(document.contactUsForm.Question.value).substr(0, 900);
			document.getElementById('lngthQ').className = 'visibleError';		
		}

		// No errors, so we submit
		if (!error) {
			document.contactUsForm.Question.value = illegalCharReplace(document.contactUsForm.Question.value);
			document.contactUsForm.Question.value = document.contactUsForm.Category.value + "\n\n" + document.contactUsForm.Question.value;
			document.contactUsForm.Category.disabled = true;
			document.contactUsForm.submit();
		}
	}
}
