// JavaScript Document
var errorMsg = "";
checkedBoxes = 0;

//DISPLAY FOLDER THUMBNAIL
function displayThumb(divId,strDir){
	if(strDir == "over"){
		//top.frames["dialogLeft"].document.getElementById("testDiv").style.display = "inline";
		document.getElementById("divThumbs").style.display = "inline";
		document.getElementById(divId).style.display = "inline";
	}
	else{
		document.getElementById(divId).style.display = "none";
		document.getElementById("divThumbs").style.display = "none";
	}
}

//CHECK MAX AMOUNT OF FOLDERS
function checkFolders(oObj){
		if(oObj.checked == true){
			checkedBoxes++
		}
		else {
			checkedBoxes--	
		}
		if(checkedBoxes > document.getElementById("maxUnits").value){
			alert("Maxantalet är "+ document.getElementById("maxUnits").value +". Om du vill beställa denna broschyr så måste du avmarkera någon av de andra först.")
			checkedBoxes--
			oObj.checked = false;	
		}
}

//OPEN & CLOSE FORM DEPENDING ON CHECKBOXES CHECKED
function openForm(oObj){
	var divID = "div" + oObj.name;
	if(document.getElementById(divID).style.display == ""){
		document.getElementById(divID).style.display = "inline";
	}
	else{
		document.getElementById(divID).style.display = "";
	}
}

//OPEN & CLOSE FORM DEPENDING ON RADIOBUTTON CHECKED
function openFormRadio(oObj){
	var divID = "div" + oObj.name + "_" + oObj.value;
	if(divID == "divIOwnBrand2_1"){
		document.getElementById("divIOwnBrand2_1").style.display = "inline";
		document.getElementById("divIOwnBrand2_0").style.display = "";
	}
	else {
		document.getElementById("divIOwnBrand2_0").style.display = "inline";
		document.getElementById("divIOwnBrand2_1").style.display = "";	
	}
}

//ENABLE / DISABLE REGNR FIELD 
function enableRegNr(oObj){
	if(oObj.id == "iOwnBrand1"){
		document.getElementById("presentRegNr").disabled = false;
		document.getElementById("trPresentRegNr").style.display = "";
		document.getElementById("trPresentRegNrText").style.display = "";
	}
	else {
		document.getElementById("presentRegNr").disabled = true;
		document.getElementById("trPresentRegNrText").style.display = "none";
		document.getElementById("trPresentRegNr").style.display = "none";
	}
}

//ENABLE / DISABLE FORM PART FOR PRESENT CAR
function dimNoBrand(){
	if(document.getElementById("iHaveNoCar").checked){
		document.getElementById("presentBrand").disabled = true;
		document.getElementById("iOwnLeasing2_1").disabled = true;
		document.getElementById("iOwnLeasing2_0").disabled = true;
	}
	else {
		document.getElementById("presentBrand").disabled = false;
		document.getElementById("iOwnLeasing2_1").disabled = false;
		document.getElementById("iOwnLeasing2_0").disabled = false;
	}
}

//COPY VALUES BETWEEN SIMILAR FIELDS
function copyValue(fromField,toField){
	document.getElementById(toField).value = fromField.value;
}

//NORMALIZE ALERT
function inputNormalize(oObj){
	oObj.className = '';	
}

//INPUT ALERT
function inputAlert(oObj){
	oObj.className = 'errorFrame';
}

//CHECK PROPER EMAIL FORMAT
function isEmail(str) {
  var emailPattern =  /^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$/;
  return emailPattern.test(str);
}

//CHECK PROPER LICENSE NO. FORMAT
function isRegNr(str) {
  var regPattern =  /\D\d/;
  return regPattern.test(str);
}

//CHECK PROPER POSTAL CODE FORMAT
function isPostal(str) {
  var regPattern =  /\d/;
  return regPattern.test(str);
}

//VALIDATE ADRESS IN FORM
function validateAdress(){
	var passed = true;
	if(document.getElementById("firstName").value == ""){
		inputAlert(document.getElementById("firstName"));
		errorMsg = errorMsg + "Glöm ej att ange förnamn<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("firstName"));
	}
	if(document.getElementById("lastName").value == ""){
		inputAlert(document.getElementById("lastName"));
		errorMsg = errorMsg + "Glöm ej att ange efternamn<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("lastName"));
	}
	if(document.getElementById("streetAdress").value == ""){
		inputAlert(document.getElementById("streetAdress"));
		errorMsg = errorMsg + "Glöm ej att ange adress<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("streetAdress"));
	}
	if(!isPostal(document.getElementById("postalCode").value)){
		inputAlert(document.getElementById("postalCode"));
		errorMsg = errorMsg + "Postnumret skall bestå av fem siffror<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("postalCode"));
	}
	if(document.getElementById("postalArea").value == ""){
		inputAlert(document.getElementById("postalArea"));
		errorMsg = errorMsg + "Glöm ej att ange ort<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("postalArea"));
	}
	if (document.getElementById("ordererPhone").value == "") {
	    inputAlert(document.getElementById("ordererPhone"));
		errorMsg = errorMsg + "Glöm ej att ange ditt telefonnummer<br/>";
		passed = false;
    }
	return passed;
}

//VALIDATE ELECTRONIC INFO
function validateElectronicInfo(){
	var passed = true;
	if(document.getElementById("email") == "" || !isEmail(document.getElementById("email").value)){
		inputAlert(document.getElementById("email"));
		errorMsg = errorMsg + "Glöm ej att ange e-postadress<br/>";
		passed = false;		
	}
	else {
		inputNormalize(document.getElementById("email"));
	}
	//if(!document.getElementById("iOwnBrand1").checked && !document.getElementById("iOwnBrand0").checked ){
	//	inputAlert(document.getElementById("errorIOwnBrand"));
	//	errorMsg = errorMsg + "Glöm ej att ange ditt nuvarande bilmärke<br/>";
	//	passed = false;
	//}
	//else {
	//	inputNormalize(document.getElementById("errorIOwnBrand"));
	//}
	//if(!document.getElementById("presentRegNr2").disabled && !isRegNr(document.getElementById("presentRegNr2").value)){
	//	inputAlert(document.getElementById("presentRegNr2"));
	//	errorMsg = errorMsg + "Glöm ej att ange registreringsnummer<br/>";
	//	passed = false;		
	//}
	//else {
	//	inputNormalize(document.getElementById("presentRegNr2"));
	//}
	return passed;
	
}

//VALIATE CONTACT BY RETAILER PART
function validateContactByRetailer(){
	var passed = true;
	if(document.getElementById("retailers").value == "none"){
		inputAlert(document.getElementById("retailers"));
		errorMsg = errorMsg + "Glöm ej att välja återförsäljare<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("retailers"));
	}
	if(document.getElementById("ordererPhone").value == ""){
		inputAlert(document.getElementById("ordererPhone"));
		errorMsg = errorMsg + "Glöm ej att ange ditt telefonnummer<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("ordererPhone"));
	}
	if(document.getElementById("contactHours").value == "none"){
		inputAlert(document.getElementById("contactHours"));
		errorMsg = errorMsg + "Glöm ej att ange när du vill bli kontaktad<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("contactHours"));
	}
	return passed;
}

//VALIDATE BOOK TEST DRIVE PART
function validateBookTestDrive(){
	var passed = true;
	if(document.getElementById("bookModel").value == "none"){
		inputAlert(document.getElementById("bookModel"));
		errorMsg = errorMsg + "Glöm ej att ange bilmodell du vill provköra<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("bookModel"));
	}
	if(document.getElementById("retailers2").value == "none"){
		inputAlert(document.getElementById("retailers2"));
		errorMsg = errorMsg + "Glöm ej att välja återförsäljare<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("retailers2"));
	}
	if(document.getElementById("ordererPhone2").value == ""){
		inputAlert(document.getElementById("ordererPhone2"));
		errorMsg = errorMsg + "Glöm ej att ange ditt telefonnummer<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("ordererPhone2"));
	}
	if(document.getElementById("contactHours2").value == "none"){
		inputAlert(document.getElementById("contactHours2"));
		errorMsg = errorMsg + "Glöm ej att ange när du vill bli kontaktad<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("contactHours2"));
	}
	return passed;
}

//VALIDATE PRESENT BRAND PART
function validatePresentBrand(){
	var passed = true;
	if(!document.getElementById("iOwnBrand2_1").checked && !document.getElementById("iOwnBrand2_0").checked ){
		inputAlert(document.getElementById("errorIOwnBrand2"));
		errorMsg = errorMsg + "Glöm ej att ange ditt nuvarande bilmärke<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("errorIOwnBrand2"));
	}
	if(document.getElementById("iOwnBrand2_1").checked){
		if(document.getElementById("presentRegNr2").value == ""){
			inputAlert(document.getElementById("presentRegNr2"));
			errorMsg = errorMsg + "Glöm ej att ange ditt registreringsnummer<br/>";
			passed = false;
		}
		else {
			inputNormalize(document.getElementById("presentRegNr2"));
		}
		if(!document.getElementById("iOwnLeasing_1").checked && !document.getElementById("iOwnLeasing_0").checked ){
		inputAlert(document.getElementById("errorIOwnLeasing"));
		errorMsg = errorMsg + "Glöm ej att ange om din bil är privat- eller tjänstebil<br/>";
		passed = false;
		}
		else {
			inputNormalize(document.getElementById("errorIOwnLeasing"));
		}
	}
	if(document.getElementById("iOwnBrand2_0").checked){
		if(!document.getElementById("iHaveNoCar").checked){
			if(document.getElementById("presentBrand").value == ""){
				inputAlert(document.getElementById("presentBrand"));
				errorMsg = errorMsg + "Glöm ej att ange ditt nuvarande bilmärke<br/>";
				passed = false;
			}
			else {
				inputNormalize(document.getElementById("presentBrand"));
			}
			if(!document.getElementById("iOwnLeasing2_1").checked && !document.getElementById("iOwnLeasing2_0").checked ){
			inputAlert(document.getElementById("errorIOwnLeasing2"));
			errorMsg = errorMsg + "Glöm ej att ange om din bil är privat- eller tjänstebil<br/>";
			passed = false;
			}
			else {
				inputNormalize(document.getElementById("errorIOwnLeasing2"));
			}
		}
		else {
			inputNormalize(document.getElementById("presentBrand"));
			inputNormalize(document.getElementById("errorIOwnLeasing2"));
		}
	}
	return passed;
}

//VALIDATE WILLBUY FORM PART
function validateWillBuy(){
	var passed = true;
	if(!document.getElementById("willBuy1").checked && !document.getElementById("willBuy2").checked && !document.getElementById("willBuy3").checked){
		inputAlert(document.getElementById("errorWillBuy"));
		errorMsg = errorMsg + "Ange när du planerar att köpa din nästa bil<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("errorWillBuy"));
	}
	return passed;
}

//VALIDATE NEW CAR AGE PART
function validateNewCarAge(){
	var passed = true;
	if(!document.getElementById("newCarAge1").checked && !document.getElementById("newCarAge2").checked && !document.getElementById("newCarAge3").checked){
		inputAlert(document.getElementById("errorNewCarAge"));
		errorMsg = errorMsg + "Ange om din nästa bil blir ny eller begagnad<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("errorNewCarAge"));
	}
	return passed;
}

//VALIDATE NEW CAR TYPE PART
function validateNewCarType(){
	var passed = true;
	if(!document.getElementById("newCarType1").checked && !document.getElementById("newCarType2").checked && !document.getElementById("newCarType3").checked){
		inputAlert(document.getElementById("errorNewCarType"));
		errorMsg = errorMsg + "Ange om din nästa bil blir privat- eller tjänstebil<br/>";
		passed = false;
	}
	else {
		inputNormalize(document.getElementById("errorNewCarType"));
	}
	return passed;
}

//VALIDATE FORM BEFORE POST
function validateForm(){
	var passed = true;
	passedAdress = validateAdress()
	if(document.getElementById("ElectronicInfo")){
		if(document.getElementById("ElectronicInfo").checked == true){
			passedElectronicInfo = validateElectronicInfo();	
		}
		else {
			passedElectronicInfo = true;
		}
	}
	else {
		passedElectronicInfo = true;
	}
	
	if(document.getElementById("ContactByRetailer").checked == true){
		passedContactByRetailer = validateContactByRetailer();
	}
	else {
		passedContactByRetailer = true;
	}

	/*
	if(document.getElementById("BookTestDrive").checked == true){
		passedBookTestDrive = validateBookTestDrive();
	}
	else {
		passedBookTestDrive = true;
	}
	
	passedPresentBrand = validatePresentBrand();
	passedWillBuy = validateWillBuy();
	passedNewCarAge = validateNewCarAge();
	passedNewCarType = validateNewCarType();
	*/
	if(!passedAdress || !passedElectronicInfo || !passedContactByRetailer){
		passed = false;
		if(!passed){
		document.getElementById("errorMsg").innerHTML = errorMsg;
		errorMsg = "";
		}
	}
	return passed;
}
