//<!--hide it
//--------------------------
// Creates and shows the 'Please wait loading...' script.
//
//
// Bakkis

var commImg = new Image(54, 16);
commImg.src = "/prisxtra/web/img/commActivity.gif";
var div;

function showWaitDiv() {

	if(document.all) {
		var windowWidth = document.body.clientWidth;
		var windowHeight = document.body.clientHeight;
	}
	else {
		var windowWidth = window.innerWidth;
		var windowHeight = window.innerHeight;
	}


	if(document.getElementById) {
		div = document.getElementById('waitDiv');
		if(div == null) {
			div = document.createElement("DIV");
			div.id = "waitDiv";
			div.style.position="absolute";
			div.style.backgroundColor = "#FFFFFF";
			//div.style.filter="alpha(opacity='50')";
			//div.style.MozOpacity = 0.5;
			div.style.color = "#D2020F";
			div.style.overflow = "hidden";
			div.style.borderWidth = "1px";
			div.style.borderStyle = "solid";
			div.style.borderColor = "#D2020F";
			div.innerHTML = "<table width='100%'><tr><td width='100%' align='center'><font style='color:#000000;font-family:Verdana, Arial, Helvetica, sans-serif;font-size:10px/20px;font-weight:normal;letter-spacing:normal;word-spacing:normal;'><br>Var god vänta...<br><br></font></td></tr><tr><td width='100%' align='center'><img src='/prisxtra/web/img/commActivity.gif' name='commActivity' border='0'></td></tr></table>";
			document.getElementsByTagName("BODY")[0].appendChild(div);
			document.images.commActivity.src = commImg.src;
		}
		div.style.width="250px";
		div.style.height="100px";
		var w = windowWidth;
		var h = windowHeight;
		div.style.left=w/2-250/2;
		div.style.top=h/2-100/2-30;
		div.style.zIndex=Number.MAX_VALUE;
	}
}


function swapImg(which, swapto) {
	
	if(document.images) {
		document[which].src = swapto;	
	}
	
	return true;	
}

function changeAction(action) {
	
	document.forms[0].nextPage.value = action;
	showWaitDiv();
	document.forms[0].submit();
	return true;
}

function submitLengthForm(form) {
    if (form.elements[1].value < 5) {
        form.elements[1].value = 5;
        alert("Listan får inte vara kortare än 5 träffar");
        return false;
    }
    form.submit();
}

function sendLogin() {
	var result = false;
		
	if(validateLogonForm(document.forms[0])) {
		showWaitDiv();
		document.forms[0].submit();
		result = true;
	}
		
	return result;	
}

function compete() {
	var result = false;
		
	if(validateMailForm(document.forms[0])) {
		showWaitDiv();
		document.forms[0].submit();
		result = true;
	}
		
	return result;	
}

function sendSupportMail() {
	var result = false;
		
	if(validateSupportMailForm(document.forms[0])) {
		showWaitDiv();
		document.forms[0].submit();
		result = true;
	}
		
	return result;	
}

function sendPwdChange(formNr) {
	var result = false;
		
	if(validateWebAccountForm(document.forms[formNr])) {
		if(document.forms[formNr].password.value == document.forms[formNr].confirmationPassword.value) {
			result = true;
			showWaitDiv();
			document.forms[formNr].submit();
		}
		else {
			alert("Lösenordet kunde inte verifieras");
			document.forms[formNr].confirmationPassword.focus();
		}
	}
		
	return result;
}


function sendPwd(formNr) {
	var result = false;
		
	if(validateSendPasswordForm(document.forms[formNr])) {
		showWaitDiv();
		document.forms[formNr].submit();
		result = true;
	}
		
	return result;	
}


function sendNewCustomer(target) {
	var result = false;
	document.forms[0].nextPage.value=target;
	
	if(!validateExtraCard(1)) {
		return false;
	}
	
	/*if(!validateExtraCard(2)) {
		return false;
	}*/
		
	if(validateNewCustomerForm(document.forms[0])) {
		showWaitDiv();
		document.forms[0].submit();
		result = true;
	}
		
	return result;	
}

function validateExtraCard(number) {
	
	var extraCard;
	var FN;
	var LN;
	var SN;
	
	if(number == 1) {
		extraCard = document.forms[0].extraCard1;
		FN = document.forms[0].extraCard1FirstName.value;
		LN = document.forms[0].extraCard1LastName.value;
		SN = document.forms[0].extraCard1SocialSecNr.value;
	}
	else {
		extraCard = document.forms[0].extraCard2;
		FN = document.forms[0].extraCard2FirstName.value;
		LN = document.forms[0].extraCard2LastName.value;
		SN = document.forms[0].extraCard2SocialSecNr.value;
	}
	
	
	if(extraCard.checked) {
		
		//var FN = document.forms[0].extraCard1FirstName.value;
		//var LN = document.forms[0].extraCard1LastName.value;
		//var SN = document.forms[0].extraCard1SocialSecNr.value;
		
		if(FN == "") {
			alert("Förnamn för extrakort " + number + " saknas.");
			eval("document.forms[0].extraCard" + number + "FirstName.focus();");
			return false;
		}
		else {
			if(!FN.match(/^[a-zA-Z- åäöÅÄÖ]*$/)) {
				alert("Förnamn för extrakort " + number + " innehåller otillåtna tecken.");
				eval("document.forms[0].extraCard" + number + "FirstName.focus();");
				return false;
			}	
		}
		
		if(LN == "") {
			alert("Efternamn för extrakort " + number + " saknas.");
			eval("document.forms[0].extraCard" + number + "LastName.focus();");
			return false;
		}
		else {
			if(!LN.match(/^[a-zA-Z- åäöÅÄÖ]*$/)) {
				alert("Efternamn för extrakort " + number + " innehåller otillåtna tecken.");
				eval("document.forms[0].extraCard" + number + "LastName.focus();");
				return false;
			}
		}
		
		if(SN == "") {
			alert("Personnummer för extrakort " + number + " saknas.");
			eval("document.forms[0].extraCard" + number + "SocialSecNr.focus();");
			return false;
		}
		else {
			if(!SN.match(/^([0-9]{12})*$/)) {
				alert("Personnummer som angivits för Extrakort " + number + " är ej korrekt (ååååMMddNNNN)");
				eval("document.forms[0].extraCard" + number + "SocialSecNr.focus();");
				return false;
			}
		}	
	}
	
	return true;
}

function sendCustomer(target) {
	var result = false;
	document.forms[0].elements["action"].value=target;
		
	if(validateCustomerForm(document.forms[0])) {
		showWaitDiv();
		document.forms[0].submit();
		result = true;
	}
		
	return result;	
}

function submitForm(form) {
	showWaitDiv();
	form.submit();
	return true;	
}

function sendPwdFO() {
	var email = document.forms[1].email.value;
	if(email == "") {
		alert("E-post adress saknas.");
		return false;
	}
		
	document.forms[1].submit();
	return true;
}


function changeLocation(location) {
	document.location.href = location;
	return true;
}

function viewReport(url) {
	window.open(url, "reportwin");
	return true;
}


function goToElement(element) {
	// element.focus();
	if ( element.type.indexOf('select') != -1) {
		element.focus();
	} else{
		element.select();
	}
}

function checkMessage() {
	var message = document.forms[1].message.value;
	
	if(message == "") {
		alert("Du har inte skrivit något meddelande.");
		return false;
	}
	document.forms[1].submit();
	return true;
}


function validIdentifier(thing) {
	var letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYZ";
	var numbers = "0123456789";
	var delimiters = "-_.";
	var legalChars = letters + numbers + delimiters;
  
    for (var i = 0; i < thing.length; i++){
		theChar = thing.charAt(i);
      	if (legalChars.indexOf(theChar) == -1) {
			return false;
		}
    }
    return true;
}


function emailValidation(element) {
  var emailStr = element.value;
  var emailPat=/^(.+)@(.+)$/;
  var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]åäöÅÄÖ";
  var validChars="\[^\\s" + specialChars + "\]";
  var firstChars=validChars;

  var quotedUser="(\"[^\"]*\")";
  var atom="(" + firstChars + validChars + "*" + ")";
  var word="(" + atom + "|" + quotedUser + ")";
  var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
  var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");


  /* Finally, let's start trying to figure out if the supplied address is valid. */
  var matchArray=emailStr.match(emailPat);
  
  if (matchArray==null) {
    /* Too many/few @'s or something; basically, this address doesn't even fit the general mould of a valid e-mail address. */
    alert("Ogiltig email address (kontrollera @, placering av punkter etc).");
			
        	goToElement(element)
    return false;
  }
  var user=matchArray[1];
  var domain=matchArray[2];// See if "user" is valid
  
  if (user.match(userPat)==null) {
    // user is not valid
    alert("Ett fel i email adressen före @.");
	goToElement(element)
    return false;
  } else {
  
  // Make sure User has legal characters in it...
  
  	if (!validIdentifier(user)) {
		alert("Användarnamnet innehåller otillåtna tecken");
		goToElement(element);
		return false;
	}
  
  }

  // Domain is symbolic name
  var domainArray=domain.match(domainPat);
  if (domainArray==null) {
    alert("Ett fel i email adressen efter  @.");
			
        	goToElement(element)
    return false;
  }else {
  
  // Make sure Domain name has legal characters in it...
  
  	if (!validIdentifier(domain)) {
		alert("Domännamnet innehåller otillåtna tecken");
		goToElement(element);
		return false;
	}
  
  }

  /* Now we need to break up the domain to get a count of how many atoms it consists of. */
  var atomPat=new RegExp(atom,"g");
  var domArr=domain.match(atomPat);
  var len=domArr.length;
  if (domArr[domArr.length-1].length<2 ||
    domArr[domArr.length-1].length>3) {
    // the address must end in a two letter or three letter word.
    alert("Addressen måste avslutas med ett ord på två bokstäver.");
			
        	goToElement(element)
    return false;
  }

  if (emailStr.lastIndexOf(".")==emailStr.length-1) {
    // the address must not end with a .
    alert("Adressen måste avslutas med en punkt.");
			
        	goToElement(element)
    return false;
  }
  if (emailStr.lastIndexOf(".")<emailStr.lastIndexOf("@")) {
    // the address must have a . after @
    alert("Domännamnet (det efter @) måste ha minst en punkt.");
			
        	goToElement(element)
    return false;
  }

  // If we've gotten this far, everything's valid!
  return true;
}


function submitenter(myfield,e) {
	
	var keycode;
	
	if (window.event) {
		keycode = window.event.keyCode;
	}
	else if (e) {
		keycode = e.which;
	}
	else {
		return true;
	}

	if (keycode == 13) {
   		sendLogin();
   		return false;
   	}
	else {
   		return true;
	}
}


function viewRules() {

	window.open( "/prisxtra/web/pdf/villkor.pdf", "Regler", "toolbar=0, status=0, scrollbars=1, menubar=0, location=0, directories=0");
}


function checkCheckBox(){
	
  	if (document.forms[0].agree.checked == false ) {
    	alert("Klicka i kryssrutan för att godkänna klubb reglerna.");
    	return false;
    }
    else {
	    showWaitDiv();
  		document.forms[0].submit();
  		return true;
   	}
}

function orderReplacementCard(cardId) {
    
    var agree = confirm("Vill du beställa ett ersättningskort?");
    
    if (agree) {
    	document.forms[0].actionId.value = cardId;
    	showWaitDiv();
    	document.forms[0].submit();
    	return true;
	}
	
	return false;
}

function checkAttributes() {
	document.getElementById('51').checked='checked';
	document.getElementById('52').checked='checked';

	return true;
}

function printCardNr(action) {
	window.open(action, "printwin", "height=200, width=300, toolbar=0, status=0, scrollbars=0, menubar=0, location=0, directories=0, resizable=0, left=200, top=200");
}

function informErrorEmail(inform, email, text0, text1, text2, text3) {
	if( inform == "true"){
		return true;
	}
	alert(text0 + "\n\n" + 
		  text1 + "\n" + 
		  text2 + "\n\n" +
		  text3 + email); 
	return true;
}

// end hide it -->
