function checkNotNull(str) {
	try{
		var newstr = str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
		if (newstr != null && newstr != ''){
			return true;
		}
		else
		{
			return false;
		}
	}
	catch(err){
		ExceptionHandler(err, arguments.callee.toString());
		return false;
	}
}
function output_error(obj_id, message){
	try{
		document.getElementById(obj_id).innerHTML = message;
	}catch(err){
		ExceptionHandler(err, arguments.callee.toString(), obj_id);
	}
}
function ExceptionHandler(err, ownName, parameter){
	//var ownName = arguments.callee.toString();
	ownName = ownName.substr('function '.length);        // trim off "function "
	ownName = ownName.substr(0, ownName.indexOf(')')+1);        // trim off everything after the function name
													  
	alert('Error Name: ' + err.name + '\nError Message: ' + err.message + '\nParameter: ' + parameter + '\nLine Number: ' + err.lineNumber + '\nCalleeInfo: ' + ownName);
	return false;
}
function check_contact_form(){
	try{
			if(!checkNotNull(document.getElementById('name').value))
		{
			resetContact();		

			document.getElementById('name').className = 'input-search';
			document.getElementById('name').style.border = '1px solid red';
			document.getElementById('name').focus();
			output_error('contact_error', 'Please input Your Name.');
			return false;
		}
		if(!checkNotNull(document.getElementById('email').value))
		{
			resetContact();		

			document.getElementById('email').className = 'input-search';
			document.getElementById('email').style.border = '1px solid red';
			document.getElementById('email').focus();
			output_error('contact_error', 'Please input Email.');
			return false;
		}
		if(!checkNotNull(document.getElementById('phone').value))
		{
			resetContact();		

			document.getElementById('phone').className = 'input-search';
			document.getElementById('phone').style.border = '1px solid red';
			document.getElementById('phone').focus();
			output_error('contact_error', 'Please input Phone.');
			return false;
		}
		if(!checkNotNull(document.getElementById('city').value))
		{
			resetContact();		

			document.getElementById('city').className = 'input-search';
			document.getElementById('city').style.border = '1px solid red';
			document.getElementById('city').focus();
			output_error('contact_error', 'Please input City.');
			return false;
		}

if(!checkNotNull(document.getElementById('province').value))
		{
			resetContact();		

			document.getElementById('province').className = 'input-search';
			document.getElementById('province').style.border = '1px solid red';
			document.getElementById('province').focus();
			output_error('contact_error', 'Please input Province.');
			return false;
		}


	
				if(!checkNotNull(document.getElementById('captcha_code').value))
		{
			resetContact();		

			document.getElementById('captcha_code').className = 'input-search';
			document.getElementById('captcha_code').style.border = '1px solid red';
			document.getElementById('captcha_code').focus();
			output_error('contact_error', 'Please input Security Code.');
			return false;
		}
		return true;
	}
	catch(err){
		ExceptionHandler(err, arguments.callee.toString());
		return false;
	}
}
	function resetContact(){
	document.getElementById('name').style.border = '1px solid #A5ACB2';
	document.getElementById('phone').style.border = '1px solid #A5ACB2';
	document.getElementById('email').style.border = '1px solid #A5ACB2';
	document.getElementById('captcha_code').style.border = '1px solid #A5ACB2';
	document.getElementById('city').style.border = '1px solid #A5ACB2';
	document.getElementById('province').style.border = '1px solid #A5ACB2';
	}
	
	function check_quote_form(){
	try{
			if(!checkNotNull(document.getElementById('name').value))
		{
			resetQuote();		

			document.getElementById('name').className = 'input-search';
			document.getElementById('name').style.border = '1px solid red';
			document.getElementById('name').focus();
			output_error('quote_error', 'Please input Your Name.');
			return false;
		}
		if(!checkNotNull(document.getElementById('email').value))
		{
			resetQuote();		

			document.getElementById('email').className = 'input-search';
			document.getElementById('email').style.border = '1px solid red';
			document.getElementById('email').focus();
			output_error('quote_error', 'Please input Email.');
			return false;
		}
		if(!checkNotNull(document.getElementById('phone').value))
		{
			resetQuote();		

			document.getElementById('phone').className = 'input-search';
			document.getElementById('phone').style.border = '1px solid red';
			document.getElementById('phone').focus();
			output_error('quote_error', 'Please input Phone.');
			return false;
		}
		if(!checkNotNull(document.getElementById('city').value))
		{
			resetQuote();		

			document.getElementById('city').className = 'input-search';
			document.getElementById('city').style.border = '1px solid red';
			document.getElementById('city').focus();
			output_error('quote_error', 'Please input City.');
			return false;
		}

if(!checkNotNull(document.getElementById('province').value))
		{
			resetQuote();		

			document.getElementById('province').className = 'input-search';
			document.getElementById('province').style.border = '1px solid red';
			document.getElementById('province').focus();
			output_error('quote_error', 'Please input Province.');
			return false;
		}


	
				if(!checkNotNull(document.getElementById('captcha_code').value))
		{
			resetQuote();		

			document.getElementById('captcha_code').className = 'input-search';
			document.getElementById('captcha_code').style.border = '1px solid red';
			document.getElementById('captcha_code').focus();
			output_error('quote_error', 'Please input Security Code.');
			return false;
		}
		return true;
	}
	catch(err){
		ExceptionHandler(err, arguments.callee.toString());
		return false;
	}
}
	function resetQuote(){
	document.getElementById('name').style.border = '1px solid #A5ACB2';
	document.getElementById('phone').style.border = '1px solid #A5ACB2';
	document.getElementById('email').style.border = '1px solid #A5ACB2';
	document.getElementById('captcha_code').style.border = '1px solid #A5ACB2';
	document.getElementById('city').style.border = '1px solid #A5ACB2';
	document.getElementById('province').style.border = '1px solid #A5ACB2';
	}
	
		function check_support_form(){
	try{
			if(!checkNotNull(document.getElementById('first_name').value))
		{
			resetsupport();		

			document.getElementById('first_name').className = 'advisor-input-1';
			document.getElementById('first_name').style.border = '1px solid red';
			document.getElementById('first_name').focus();
			output_error('support_error', 'Please input Your First Name.');
			return false;
		}
        if(!checkNotNull(document.getElementById('last_name').value))
		{
			resetsupport();		

			document.getElementById('last_name').className = 'advisor-input-1';
			document.getElementById('last_name').style.border = '1px solid red';
			document.getElementById('last_name').focus();
			output_error('support_error', 'Please input Your Last Name.');
			return false;
		}
		if(!checkNotNull(document.getElementById('email').value))
		{
			resetsupport();		

			document.getElementById('email').className = 'advisor-input-1';
			document.getElementById('email').style.border = '1px solid red';
			document.getElementById('email').focus();
			output_error('support_error', 'Please input Email.');
			return false;
		}
		if(!checkNotNull(document.getElementById('phone').value))
		{
			resetsupport();		

			document.getElementById('phone').className = 'advisor-input-1';
			document.getElementById('phone').style.border = '1px solid red';
			document.getElementById('phone').focus();
			output_error('support_error', 'Please input Phone.');
			return false;
		}
		if(!checkNotNull(document.getElementById('problem').value))
		{
			resetsupport();		

			document.getElementById('problem').className = 'advisor-input-2';
			document.getElementById('problem').style.border = '1px solid red';
			document.getElementById('problem').focus();
			output_error('support_error', 'Please input Your Question / Problem.');
			return false;
		}

      if(!checkNotNull(document.getElementById('system').value))
		{
			resetsupport();		

			document.getElementById('system').className = 'advisor-input-1';
			document.getElementById('system').style.border = '1px solid red';
			document.getElementById('system').focus();
			output_error('support_error', 'Please input Operating System.');
			return false;
		}


	
				if(!checkNotNull(document.getElementById('captcha_code').value))
		{
			resetsupport();		

			document.getElementById('captcha_code').className = 'advisor-input-1';
			document.getElementById('captcha_code').style.border = '1px solid red';
			document.getElementById('captcha_code').focus();
			output_error('support_error', 'Please input Security Code.');
			return false;
		}
		return true;
	}
	catch(err){
		ExceptionHandler(err, arguments.callee.toString());
		return false;
	}
}
	function resetsupport()
	{
	document.getElementById('first_name').style.border = '1px solid #A5ACB2';
    document.getElementById('last_name').style.border = '1px solid #A5ACB2';
	document.getElementById('phone').style.border = '1px solid #A5ACB2';
	document.getElementById('email').style.border = '1px solid #A5ACB2';
	document.getElementById('captcha_code').style.border = '1px solid #A5ACB2';
	document.getElementById('system').style.border = '1px solid #A5ACB2';
	document.getElementById('problem').style.border = '1px solid #A5ACB2';
	}
	
	function check_referral_form()
	{
		try{
			if(!checkNotNull(document.getElementById('referral_repname').value))
			{
				resetreferral();		
	
				document.getElementById('referral_repname').className = 'advisor-input-3';
				document.getElementById('referral_repname').style.border = '1px solid red';
				document.getElementById('referral_repname').focus();
				output_error('referral_error', 'Please input Rep Name.');
				return false;
			}
			if(!checkNotNull(document.getElementById('referral_code').value))
			{
				resetreferral();		
	
				document.getElementById('referral_code').className = 'advisor-input-3';
				document.getElementById('referral_code').style.border = '1px solid red';
				document.getElementById('referral_code').focus();
				output_error('referral_error', 'Please input Rep Code.');
				return false;
			}
			if(!checkNotNull(document.getElementById('referral_company').value))
			{
				resetreferral();		
	
				document.getElementById('referral_company').className = 'advisor-input-3';
				document.getElementById('referral_company').style.border = '1px solid red';
				document.getElementById('referral_company').focus();
				output_error('referral_error', 'Please input Rep Company.');
				return false;
			}
			if(!checkNotNull(document.getElementById('referral_email').value))
			{
				resetreferral();		
	
				document.getElementById('referral_email').className = 'advisor-input-3';
				document.getElementById('referral_email').style.border = '1px solid red';
				document.getElementById('referral_email').focus();
				output_error('referral_error', 'Please input Rep Email.');
				return false;
			}
			if(!checkNotNull(document.getElementById('referral_tel').value))
			{
				resetreferral();		
	
				document.getElementById('referral_tel').className = 'advisor-input-3';
				document.getElementById('referral_tel').style.border = '1px solid red';
				document.getElementById('referral_tel').focus();
				output_error('referral_error', 'Please input Rep Telephone.');
				return false;
			}
			if(!checkNotNull(document.getElementById('referral_city').value))
			{
				resetreferral();		
	
				document.getElementById('referral_city').className = 'advisor-input-3';
				document.getElementById('referral_city').style.border = '1px solid red';
				document.getElementById('referral_city').focus();
				output_error('referral_error', 'Please input City.');
				return false;
			}
			
			if(!checkNotNull(document.getElementById('referral_province').value))
			{
				resetreferral();		
	
				document.getElementById('referral_province').className = 'advisor-input-3';
				document.getElementById('referral_province').style.border = '1px solid red';
				document.getElementById('referral_province').focus();
				output_error('referral_error', 'Please input Province.');
				return false;
			}
			if(!checkNotNull(document.getElementById('referral_cname').value))
			{
				resetreferral();		
	
				document.getElementById('referral_cname').className = 'advisor-input-3';
				document.getElementById('referral_cname').style.border = '1px solid red';
				document.getElementById('referral_cname').focus();
				output_error('referral_error', 'Please input Client\'s Name.');
				return false;
			}
			if(!checkNotNull(document.getElementById('referral_cemail').value))
			{
				resetreferral();		
	
				document.getElementById('referral_cemail').className = 'advisor-input-3';
				document.getElementById('referral_cemail').style.border = '1px solid red';
				document.getElementById('referral_cemail').focus();
				output_error('referral_error', 'Please input Client\'s Email.');
				return false;
			}
			if(!checkNotNull(document.getElementById('referral_ctel').value))
			{
				resetreferral();		
	
				document.getElementById('referral_ctel').className = 'advisor-input-3';
				document.getElementById('referral_ctel').style.border = '1px solid red';
				document.getElementById('referral_ctel').focus();
				output_error('referral_error', 'Please input  Client\'s Telephone #1.');
				return false;
			}
			
			
			
			if(!checkNotNull(document.getElementById('referral_ccity').value))
			{
				resetreferral();		
	
				document.getElementById('referral_ccity').className = 'advisor-input-3';
				document.getElementById('referral_ccity').style.border = '1px solid red';
				document.getElementById('referral_ccity').focus();
				output_error('referral_error', 'Please input  Client\'s City.');
				return false;
			}
			if(!checkNotNull(document.getElementById('referral_cprovince').value))
			{
				resetreferral();		
	
				document.getElementById('referral_cprovince').className = 'advisor-input-3';
				document.getElementById('referral_cprovince').style.border = '1px solid red';
				document.getElementById('referral_cprovince').focus();
				output_error('referral_error', 'Please input  Client\'s Province.');
				return false;
			}
			if(!checkNotNull(document.getElementById('referral_cpostal').value))
			{
				resetreferral();		
	
				document.getElementById('referral_cpostal').className = 'advisor-input-3';
				document.getElementById('referral_cpostal').style.border = '1px solid red';
				document.getElementById('referral_cpostal').focus();
				output_error('referral_error', 'Please input  Client\'s Postal Code.');
				return false;
			}
			if(!checkNotNull(document.getElementById('referral_interested').value))
			{
				resetreferral();		
	
				document.getElementById('referral_interested').className = 'advisor-input-3';
				document.getElementById('referral_interested').style.border = '1px solid red';
				document.getElementById('referral_interested').focus();
				output_error('referral_error', 'Please input  Client  is Interested In.');
				return false;
			}

			if(!checkNotNull(document.getElementById('captcha_code').value))
		{
			resetreferral();		

			document.getElementById('captcha_code').className = 'advisor-input-3';
			document.getElementById('captcha_code').style.border = '1px solid red';
			document.getElementById('captcha_code').focus();
			output_error('referral_error', 'Please input Security Code.');
			return false;
		}

			return true;
		}
		catch(err)
		{
			ExceptionHandler(err, arguments.callee.toString());
			return false;
		}
   }
	
	function resetreferral()
	{
	document.getElementById('referral_repname').style.border = '1px solid #A5ACB2';
	document.getElementById('referral_code').style.border = '1px solid #A5ACB2';
	document.getElementById('referral_company').style.border = '1px solid #A5ACB2';
	document.getElementById('referral_email').style.border = '1px solid #A5ACB2';
	document.getElementById('referral_tel').style.border = '1px solid #A5ACB2';
	document.getElementById('referral_city').style.border = '1px solid #A5ACB2';
	document.getElementById('referral_province').style.border = '1px solid #A5ACB2';
	document.getElementById('referral_cname').style.border = '1px solid #A5ACB2';
	document.getElementById('referral_cemail').style.border = '1px solid #A5ACB2';
	document.getElementById('referral_ctel').style.border = '1px solid #A5ACB2';
	document.getElementById('referral_ccity').style.border = '1px solid #A5ACB2';
	document.getElementById('referral_cprovince').style.border = '1px solid #A5ACB2';
	document.getElementById('referral_cpostal').style.border = '1px solid #A5ACB2';
	document.getElementById('referral_interested').style.border = '1px solid #A5ACB2';

	}
	
	
	function check_faq_form(){
	try{
		if(!checkNotNull(document.getElementById('service').value))
		{
			resetFAQ();		

			document.getElementById('service').className = 'input-search';
			document.getElementById('service').style.border = '1px solid red';
			document.getElementById('service').focus();
			output_error('quote_error', 'Please select Service Type.');
			return false;
		}
			if(!checkNotNull(document.getElementById('name').value))
		{
			resetFAQ();		

			document.getElementById('name').className = 'input-search';
			document.getElementById('name').style.border = '1px solid red';
			document.getElementById('name').focus();
			output_error('quote_error', 'Please input Your Name.');
			return false;
		}
		if(!checkNotNull(document.getElementById('email').value))
		{
			resetFAQ();		

			document.getElementById('email').className = 'input-search';
			document.getElementById('email').style.border = '1px solid red';
			document.getElementById('email').focus();
			output_error('quote_error', 'Please input Email.');
			return false;
		}
		if(!checkNotNull(document.getElementById('phone').value))
		{
			resetFAQ();		

			document.getElementById('phone').className = 'input-search';
			document.getElementById('phone').style.border = '1px solid red';
			document.getElementById('phone').focus();
			output_error('quote_error', 'Please input Phone.');
			return false;
		}
		if(!checkNotNull(document.getElementById('city').value))
		{
			resetFAQ();		

			document.getElementById('city').className = 'input-search';
			document.getElementById('city').style.border = '1px solid red';
			document.getElementById('city').focus();
			output_error('quote_error', 'Please input City.');
			return false;
		}

        if(!checkNotNull(document.getElementById('province').value))
		{
			resetFAQ();		

			document.getElementById('province').className = 'input-search';
			document.getElementById('province').style.border = '1px solid red';
			document.getElementById('province').focus();
			output_error('quote_error', 'Please input Province.');
			return false;
		}


	
				if(!checkNotNull(document.getElementById('captcha_code').value))
		{
			resetFAQ();		

			document.getElementById('captcha_code').className = 'input-search';
			document.getElementById('captcha_code').style.border = '1px solid red';
			document.getElementById('captcha_code').focus();
			output_error('quote_error', 'Please input Security Code.');
			return false;
		}
		return true;
	}
	catch(err){
		ExceptionHandler(err, arguments.callee.toString());
		return false;
	}
}
	function resetFAQ(){
	document.getElementById('name').style.border = '1px solid #A5ACB2';
	document.getElementById('service').style.border = '1px solid #A5ACB2';
	document.getElementById('phone').style.border = '1px solid #A5ACB2';
	document.getElementById('email').style.border = '1px solid #A5ACB2';
	document.getElementById('captcha_code').style.border = '1px solid #A5ACB2';
	document.getElementById('city').style.border = '1px solid #A5ACB2';
	document.getElementById('province').style.border = '1px solid #A5ACB2';
	}
	
	
	
	
