function initFormValidation()
{
	var inputs = $(":input");
	jQuery.each(inputs, function() {
		var className = this.className;
		var required = $(this).attr('required');
		var bullet = $(this).attr('bullet');
		if(required != null)
		{
			var mask = $(this).attr('mask');
			if(!document.getElementById(this.name+"_error"))
			{
				var div = document.createElement('DIV');
				if(bullet == 1)
				{
					div.className = 'invalidInput';
					this.parentNode.insertBefore(div,this);
				}
				else
				{
					div.className = 'invalidInputNoImg';
					$(div).insertAfter(this);
				}
				div.appendChild(this);
				div.style.width = this.offsetWidth + 'px';
				div.id = this.name+"_error";
			}
			$(this).blur( function() { validateInput(this) } );
			$(this).change( function() { validateInput(this) } );
			$(this).keyup( function() { validateInput(this) } );
			validateInput(this);			
		}
	});	
}

function validateInput(inputObj)
{
	var bullet = $(inputObj).attr('bullet');
	if(bullet == 1)
	{
	  	classInvalid= 'invalidInput';
	  	classValid= 'validInput';
	}
	else
	{
	  	classInvalid= 'invalidInputNoImg';
	  	classValid= 'validInputNoImg';
	}
	required = $(inputObj).attr('required');
	if(required==1 || (required == 0 && $(inputObj).val() != ""))
	{
			var emailRegExp;
			var inputValidates = true;
			if(inputObj.tagName=='TEXTAREA' && (inputObj.value.length==0 || $.trim(inputObj.value) =="" || inputObj.value.length > $(inputObj).attr('maxlen')))
				inputValidates = false;
			if(inputObj.tagName=='INPUT' && (inputObj.value.length==0 || $.trim(inputObj.value) ==""))
				inputValidates = false;
			if(inputObj.tagName=='SELECT' && (inputObj.value==0 || inputObj.value==""))
				inputValidates = false;
			
			if(inputObj.tagName=='TEXTAREA' && $(inputObj).attr('maxlen')) $(inputObj).bind('keydown',function(){ if(inputObj.value.length >= $(inputObj).attr('maxlen')) {return false;}else{return true;}});
	
			switch($(inputObj).attr('mask'))
			{
				case "url":
					urlRegExp = /^(((ht|f)tp(s?))\:\/\/)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/
					inputValidates = urlRegExp.test(inputObj.value);
				break;
				case "email":
					emailRegExp = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.([a-z]){2,4})$/;
					inputValidates = emailRegExp.test(inputObj.value);
				break;
				case "username":
					if(inputObj.value.length >= 3)
						checkUsername(inputObj.id);
					else
					{
						$("#msg_username").html($("#Username_examples").val());
						inputValidates = false;
					}
				break;
				case "groupname":
					if(inputObj.value.length >= 3)
						checkGroupname(inputObj.id);
					else
					{
						inputValidates = false;
					}
				break;
				case "pwd":
					inputValidates = checkPassword(inputObj.value);
					if($("#verify") && $("#verify").val() != "")
					{
						inputValidatesVerify = retypePassword();
						if(inputValidatesVerify)
							$("#verify_error").attr('class',classValid);
						else if(!inputValidatesVerify)
							$("#verify_error").attr('class',classInvalid);
							
					}
				break;
				case "verify":
					inputValidates = retypePassword();
				break;
				case "manufacturerOnly":
					
					numRegExp = /^([0-9]){4}$/
					var today       = new Date();
					var strYear     = today.getFullYear();

					if(inputObj.value != "" && numRegExp.test(inputObj.value) && (inputObj.value <= strYear && inputObj.value >= 1901))
						inputValidates = true;
					else
						inputValidates = false;

				break;
				case "manufacturecheck":
					numRegExp = /^([0-9]){4}$/
					var today       = new Date();
					var strYear     = today.getFullYear();

					if(inputObj.value != "" && numRegExp.test(inputObj.value) && (inputObj.value <= strYear && inputObj.value >= 1901))
					{
						if($("#PurchaseYear").val() != "")
						{
							if(inputObj.value > strYear)
							{
								inputValidates = false;
								document.getElementById("PurchaseYear_error").className = classInvalid;
							}
							else if(inputObj.value > $("#PurchaseYear").val())
							{
								inputValidates = false;
								document.getElementById("PurchaseYear_error").className = classInvalid;
							}
							else
							{
								inputValidates = true;
								document.getElementById("PurchaseYear_error").className = classValid;

							}
						}
					}
					else
						inputValidates = false;

				break;
				case "purchasecheck":
				var today       = new Date();
				var strYear     = today.getFullYear();
				numRegExp = /^([0-9]){4}$/
				if(inputObj.value != "" && numRegExp.test(inputObj.value) && (inputObj.value <= strYear && inputObj.value >= 1901))
					{
						if($("#ManufactureYear").val() != "")
						{
							if($("#ManufactureYear").val() > strYear)
							{
								inputValidates = false;
								document.getElementById("ManufactureYear_error").className = classInvalid;
							}	
							else if(inputObj.value < $("#ManufactureYear").val())
							{
								inputValidates = false;
								document.getElementById("ManufactureYear_error").className = classInvalid;
							}
							else
							{
								inputValidates = true;
								document.getElementById("ManufactureYear_error").className = classValid;
							}

						}
					}
					else
						inputValidates = false;
				break;
			}
			
			if(inputObj.parentNode)
			{
				if(inputValidates){
					inputObj.parentNode.className=classValid;
				}else{
					inputObj.parentNode.className=classInvalid;
				}

			}
	}
	else if(inputObj.parentNode)
	{
		inputObj.parentNode.className=classValid;
	}	
	
}

function isFormValid()
{
	var divs = document.getElementsByTagName('DIV');
	
	for(var no=0;no<divs.length;no++)
	{
		
		if((divs[no].className=='invalidInput' || divs[no].className=='invalidInputNoImg') && divs[no].style.display != "none")
		{
			msg_error = divs[no].id+"_msg";
			alert(document.getElementById(msg_error).value);
			return false;
		}
	}
	if(document.getElementById('conditions') && document.getElementById('conditions').checked == false)
	{
		alert($('#error_conditions').val());
		return;
	}

	if(document.getElementById('registerterms_error_msg') && document.getElementById('registerterms').checked == false)
	{
		alert($('#registerterms_error_msg').val());
		return false;
	}
	
	$("#j").val(1);
	return true;
}

function isFormValidDealer()
{
	ok=0;
	for(i=0;i<document.review.opt.length;i++)
	{
		if(document.review.opt[i].checked == true)
			ok=1
	}
	if(ok==0)
	{
		alert($("#opt_error_msg").val());
		return false;
	}
	if(document.getElementById('conditions') && document.getElementById('conditions').checked == false)
	{
		alert($('#error_conditions').val());
		return;
	}
	
	var divs = document.getElementsByTagName('DIV');
	for(var no=0;no<divs.length;no++)
	{
		if((divs[no].className=='invalidInput' || divs[no].className=='invalidInputNoImg') && divs[no].style.display != "none")
		{
			if(divs[no].id == "postsales_error")
			{
				if(!document.getElementById("postsales_check").checked && document.getElementById("postsales_id").value ==0)
				{
					msg_error = "#"+divs[no].id+"_msg";
					alert($(msg_error).val());
					return false;
					
				}	
			}
			else
			{
				msg_error = "#"+divs[no].id+"_msg";
				alert($(msg_error).val());
				return false;
				
			}	
		}
	}
	document.getElementById("j").value=1;
	return true;
}

function checkemail(id)
{
	
	if($('#pass').css('display') == "none")
	{
		if(ajaxReturn('/_actions/checkemail.php','email='+$('#'+id).val()) > 0)
		{
			$('#pass').css('display','');
			$('#pwd').attr('required','1');
			return false;
		}
		else
		{	
			$('#pass').css('display','none');
			return true;
		}
	}
	else if($('#pwd'))
	{
		if(ajaxReturn('/_actions/checklogin.php','email='+$('#'+id).val()+'&pwd='+$('#pwd').val()) == 0)
		{
			alert($('#msg_error_pwd').val());
			return false;	
		}
		else
			return true;
	}
}

function wordCount(sText){

	var iWordCounter	= 0;
	var iMinWordLength 	= 2; 
	var sText 	= sText;

	var sSplitString = sText.split(" ");

	for(t = 0 ; t < sSplitString.length ; t++)
		if(sSplitString[t].length >= iMinWordLength)
			iWordCounter ++ ;

	return sSplitString.length ; 
}

function countcarac(obj)
{
	
	countText = wordCount(obj.value);
	num = 25-countText;
	if(num > 0)
	{
		$("#Overall_CM_error").attr('class','invalidInputNoImg');
		$('#num25').css('display','block');
		$('#numcarac').html(num);	
	}
	else
	{
		$("#Overall_CM_error").attr('class','validInputNoImg');
		$('#num25').css('display','none');
	}
}
// REGISTER USER

function checkUsernameimg(value)
{
	if(value){
		document.getElementById("username").parentNode.className='validInputNoImg';
	}else{
		document.getElementById("username").parentNode.className='invalidInputNoImg'
	}
}



function checkGroupname(id)
{
	usr = $("#"+id).val();
	$.ajax({
	        type: "POST",
	        url: "/_actions/checkgroup.php",
	        data: "groupname="+usr,
	        success: function(code){
				$("#msg_groupname").html(code);
	      }
	});
}
function checkUsername(id)
{
	usr = $("#"+id).val();
	$.ajax({
	        type: "POST",
	        url: "/_actions/checkuser.php",
	        data: "username="+escape(usr),
	        success: function(code){
				opc = code.split("|");
				eval(opc[0]);
				$("#msg_username").html(opc[1]);
	      }
	});
}


function checkPassword(pwd)
{
	if(pwd.length ==0)
		return false;
	else if(pwd.length < 6)
		return false;
	else
		return true;

}
function retypePassword()
{
	var ok,pwd;
	ok = 0;
	pwd = $("#pwd").val();

	if(pwd.length == 0)
		return false

	if($("#pwd").val() == $("#verify").val())
		ok=1;	

	if(ok==0)
		return false;
	else
		return true;

}

// EXTRAS
function createModelAlter()
{
	$("#modelAlternative_error").html('<input type="text" name="modelAlternative" required="1" bullet="1" id="modelAlternative" class="form_input_shadow" onkeyup="javascript:validateInput(this);" onchange="javascript:validateInput(this);" onblur="javascript:validateInput(this);" id="modelAlternitave">');
	$('#model_error').css('display','none');
	$('#modelAlternative_error').css('display','block');
	$('#CreateModelAlternative').css('display','block');
}
function showModelNormal()
{
	$("#modelAlternative_error").html('');
	$('#model_error').css('display','block');
	$('#modelAlternative_error').css('display','none');
	$('#CreateModelAlternative').css('display','none');
}

function validateSlider(id)
{	
	if(document.getElementById(id+"_id") && document.getElementById(id+"_id").value > 0 && document.getElementById(id+"_error").className=='invalidInput')
		document.getElementById(id+"_error").className='validInput';
	else if(document.getElementById(id+"_id") && document.getElementById(id+"_id").value == 0 && document.getElementById(id+"_error").className=='validInput')
		document.getElementById(id+"_error").className='invalidInput';
	else if(document.getElementById(id+"_id") && document.getElementById(id+"_id").value > 0 && document.getElementById(id+"_error").className=='invalidInputNoImg')
		document.getElementById(id+"_error").className='validInputNoImg';
	else if(document.getElementById(id+"_id") && document.getElementById(id+"_id").value == 0 && document.getElementById(id+"_error").className=='validInputNoImg')
		document.getElementById(id+"_error").className='invalidInputNoImg';
}
function checkSliderUpdateform(arr)
{
	jQuery.each(arr, function(id) {
		validateSlider(id);
	});
}
function makeIMGID(make,model,url,id)
{
	path = url+"/photos/cars/principals/"+make+"/"+model+".jpg";
	$("#"+id).html("<img src='"+path+"' alt=''>");
}
function makeIMG(make,model,url)
{
	//path = ajaxReturn("/_actions/check_car_img.php","makeid="+make+"&modelid="+model);
	//if(path != "")
	path = url+"/photos/cars/principals/"+make+"/"+model+".jpg";
	$("#img").html("<img src='"+path+"' alt=''>");
}