﻿/*


Copyright © 2009 Car Techniks. All Rights Reserved
.--------------------------------------------------------------------------------------.
NOTICE SPECIFIC TO STRUCTURES AND IMAGES AVAILABLE ON THIS WEB SITE:
All Materials on http://www.CarTechniks.com is Copyright © YOU DO NOT have permission 
to copy or use any Images, Meta, Html, Scripts or Codes. Any copying or reproduction is 
expressly prohibited by law, and may result in severe civil and criminal penalties. 
Violators will be prosecuted to the maximum extent possible under the law.
'-------------------------------------------------------------------------------------*/
function CarTechniks(){
	if(!validateNotEmpty(document.getElementById("FirstName").value)){
		alert('Please Enter First Name')
		document.getElementById("FirstName").focus();
		return false;
	};
	if(!validateNotEmpty(document.getElementById("LastName").value)){
		alert('Please Enter Last Name')
		document.getElementById("LastName").focus();
		return false;
	};
	if(!validateNotEmpty(document.getElementById("Address").value)){
		alert('Please Enter Address')
		document.getElementById("Address").focus();
		return false;
	};
	if(!validateNotEmpty(document.getElementById("City").value)){
		alert('Please Enter City')
		document.getElementById("City").focus();
		return false;
	};
	if(!validateNotEmpty(document.getElementById("State").value)){
		alert('Please Enter State')
		document.getElementById("State").focus();
		return false;
	};
	if(!validateState(document.getElementById("State").value)){
		alert('Invalid State Abbreviation')
		document.getElementById("State").select();
		return false;
	};
	if(!validateNotEmpty(document.getElementById("Zip").value)){
		alert('Please Enter Zip Code')
		document.getElementById("Zip").focus();
		return false;
	};
	if(!validateUSZip(document.getElementById("Zip").value)){
		alert('Invalid Zip Code')
		document.getElementById("Zip").select();
		return false;
	};
	if(!validateNotEmpty(document.getElementById("HomePhone").value)){
		alert('Please Enter Home Phone')
		document.getElementById("HomePhone").focus();
		return false;
	};
	if(!validateUSPhone(document.getElementById("HomePhone").value)){
		alert('Invalid Home Phone')
		document.getElementById("HomePhone").select();
		return false;
	};
	/*
	if(!validateNotEmpty(document.getElementById("WorkPhone").value)){
		alert('Please Enter Work Phone')
		document.getElementById("WorkPhone").focus();
		return false;
	};
	if(!validateUSPhone(document.getElementById("WorkPhone").value)){
		alert('Invalid Work Phone')
		document.getElementById("WorkPhone").select();
		return false;
	};
	if(!validateNotEmpty(document.getElementById("CellPhone").value)){
		alert('Please Enter Cell Phone')
		document.getElementById("CellPhone").focus();
		return false;
	};
	if(!validateUSPhone(document.getElementById("CellPhone").value)){
		alert('Invalid Cell Phone')
		document.getElementById("CellPhone").select();
		return false;
	};
	*/	
	if(!validateNotEmpty(document.getElementById("EmailAddress").value)){
		alert('Please Enter Email')
		document.getElementById("EmailAddress").focus();
		return false;
	};
	if(!validateEmail(document.getElementById("EmailAddress").value)){
		alert('Invalid Email Address')
		document.getElementById("EmailAddress").select();
		return false;
	};
	
	return true
}

function validateCurrency( strValue)  {
	var objRegExp = /(^\$\d{1,3}(,\d{3})*\.\d{2}$)|(^\(\$\d{1,3}(,\d{3})*\.\d{2}\)$)/;
	return objRegExp.test( strValue );
}

function validateTime ( strValue ) {
	var objRegExp = /^([1-9]|1[0-2]):[0-5]\d(:[0-5]\d(\.\d{1,3})?)?$/;
	return objRegExp.test( strValue );
}

function validateState (strValue ) {
	var objRegExp = /^(AK|AL|AR|AZ|CA|CO|CT|DC|DE|FL|GA|HI|IA|ID|IL|IN|KS|KY|LA|MA|MD|ME|MI|MN|MO|MS|MT|NB|NC|ND|NH|NJ|NM|NV|NY|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VA|VT|WA|WI|WV|WY)$/i; 
	return objRegExp.test(strValue);
}

function validateSSN( strValue ) {
	var objRegExp  = /^\d{3}\-\d{2}\-\d{4}$/;
	return objRegExp.test(strValue);
}

function validateEmail( strValue) {
	var objRegExp  = /^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$/;
	return objRegExp.test(strValue);
}

function validateUSPhone( strValue ) {
	var objRegExp  = /^([\(]{1}[0-9]{3}[\)]{1}[ |\-]{0,1}|^[0-9]{3}[\-| ])?[0-9]{3}(\-| ){1}[0-9]{4}$/;
	return objRegExp.test(strValue); 
}

function  validateNumeric( strValue ) {
	var objRegExp  =  /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/; 
	return objRegExp.test(strValue);
}

function validateInteger( strValue ) {
	var objRegExp  = /(^-?\d\d*$)/;
	return objRegExp.test(strValue);
}

function validateNotEmpty( strValue ) {
	var strTemp = strValue;
	strTemp = trimAll(strTemp);
	if(strTemp.length > 0){
		return true;
	}  
	return false;
}

function validateUSZip( strValue ) {
	var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
	return objRegExp.test(strValue);
}

function validateUSDate( strValue ) {
	var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
	if(!objRegExp.test(strValue))
		return false; 
	else{
		var arrayDate = strValue.split(RegExp.$1); 
		var intDay = parseInt(arrayDate[1],10); 
		var intYear = parseInt(arrayDate[2],10);
		var intMonth = parseInt(arrayDate[0],10);
		if(intMonth > 12 || intMonth < 1) {
			return false;
		}
		var arrayLookup = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,'08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}

		if(arrayLookup[arrayDate[0]] != null) {
			if(intDay <= arrayLookup[arrayDate[0]] && intDay != 0)
			return true;
		}
		var booLeapYear = (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0));
		if( ((booLeapYear && intDay <= 29) || (!booLeapYear && intDay <=28)) && intDay !=0)
			return true;
	}
	return false;
}

function validateValue( strValue, strMatchPattern ) {
	var objRegExp = new RegExp( strMatchPattern);
	return objRegExp.test(strValue);
}

function rightTrim( strValue ) {
	var objRegExp = /^([\w\W]*)(\b\s*)$/;
	if(objRegExp.test(strValue)) {
		strValue = strValue.replace(objRegExp, '$1');
	}
	return strValue;
}

function leftTrim( strValue ) {
	var objRegExp = /^(\s*)(\b[\w\W]*)$/;
	if(objRegExp.test(strValue)) {
		strValue = strValue.replace(objRegExp, '$2');
	}
	return strValue;
}

function trimAll( strValue ) {
	var objRegExp = /^(\s*)$/;
	if(objRegExp.test(strValue)) {
		strValue = strValue.replace(objRegExp, '');
		if( strValue.length == 0)
		return strValue;
	}
	objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
	if(objRegExp.test(strValue)) {
		strValue = strValue.replace(objRegExp, '$2');
	}
	return strValue;
}

function removeCurrency( strValue ) {
	var objRegExp = /\(/;
	var strMinus = '';
	if(objRegExp.test(strValue)){
		strMinus = '-';
	}
	objRegExp = /\)|\(|[,]/g;
	strValue = strValue.replace(objRegExp,'');
	if(strValue.indexOf('$') >= 0){
		strValue = strValue.substring(1, strValue.length);
	}
	return strMinus + strValue;
}

function addCurrency( strValue ) {
	var objRegExp = /-?[0-9]+\.[0-9]{2}$/;
	if( objRegExp.test(strValue)) {
		objRegExp.compile('^-');
		strValue = addCommas(strValue);
		if (objRegExp.test(strValue)){
			strValue = '($' + strValue.replace(objRegExp,'') + ')';
		}
		else {
			strValue = '$' + strValue;
		}
		return  strValue;
	}
	else
		return strValue;
}

function removeCommas( strValue ) {
	var objRegExp = /,/g;
	return strValue.replace(objRegExp,'');
}

function addCommas( strValue ) {
	var objRegExp  = new RegExp('(-?[0-9]+)([0-9]{3})'); 
	while(objRegExp.test(strValue)) {
		strValue = strValue.replace(objRegExp, '$1,$2');
	}
	return strValue;
}

function removeCharacters( strValue, strMatchPattern ) {
	var objRegExp =  new RegExp( strMatchPattern, 'gi' );
	return strValue.replace(objRegExp,'');
}

 



