//<!--hide it
//--------------------------
// Creates and shows the 'Please wait loading...' script.
//
//
// Bakkis

var commImg = new Image(54, 16);
commImg.src = "/nobelli/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 = "#E9F7FC";
			div.style.backgroundColor = "#F9E9CF";
			//div.style.backgroundImage = "url(/birka/web/img/bakgrund.gif)";
			//div.style.backgroundRepeat = "repeat-x";
			//div.style.filter="alpha(opacity='50')";
			//div.style.MozOpacity = 0.5;
			div.style.color = "#A35B0F";
			div.style.overflow = "hidden";
			div.style.borderWidth = "2px";
			div.style.borderStyle = "solid";
			div.style.borderColor = "#A35B0F";
			div.innerHTML = "<table width='100%'><tr><td width='100%' align='center'><font style='color:#A35B0F;font-family:Verdana, Arial;font-size:12px;font-weight:bold;'><br>Var god vänta...<br><br></font></td></tr><tr><td width='100%' align='center'><img src='/nobelli/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[1])) {
		showWaitDiv();
		document.forms[1].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() {
	var result = false;
		
	if(emailValidation(document.forms[1].email)) {
		showWaitDiv();
		document.forms[1].submit();
		result = true;
	}
		
	return result;	
}


function sendNewCustomer(target) {
	var result = false;
	document.forms[0].nextPage.value=target;
		
	if(validateNewCustomerForm(document.forms[0])) {
		showWaitDiv();
		document.forms[0].submit();
		result = true;
	}
		
	return result;	
}

function validateBirthDate(bDate) {
	
	var validDate = true;
	var firstTwo = bDate.substr(0, 2);
	var month = bDate.substr(4, 2);
	var day = bDate.substr(6, 2);

	if((parseInt(firstTwo, 10) < 19) || (parseInt(firstTwo, 10) > 20)) {
		validDate = false;
	}
	
	if((parseInt(month, 10) < 1) || (parseInt(month, 10) > 12)) {
		validDate = false;
	}
	
	if((parseInt(day, 10) < 1) || (parseInt(day, 10) > 31)) {
		validDate = false;
	}
	
	if(!validDate) {
		return false;
	}
	
	return validDate;
}

function registerNewCustomer(action) {
	
	document.forms[0].nextPage.value = action;
	showWaitDiv();
	document.forms[0].submit();
	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) {
	showWaitDiv();
	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[0].message.value;
	
	if(message == "") {
		alert("Du har inte skrivit något meddelande.");
		return false;
	}
	showWaitDiv();
	document.forms[0].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( "/nobelli/web/clubRules.jsp", "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 checkLength(field, length) {
	var text = field.value;
	
	if((length == 4) && (text.length == 4)) {
		document.forms[0].elements[3].focus();	
	}
	else if((length == 2) && (text.length == 2)) {
		document.forms[0].elements[4].focus();	
	}
}

function BirkaBokning(bDate) {
	var f = document.forms["firstjry"];
	var year = bDate.substring(0, 4);
	var month = bDate.substring(4, 6);
	var day = bDate.substring(6);
	var newDate = day + month + year;
	f.birthdate.value = newDate;
	f.target = "_blank";
	f.submit();
	return true;
} 

function changeBgColor(elem, color) {
	elem.bgColor = color;
	return true;
}

/*function enableTextField() {
	document.forms[0].textValue5844479.disabled = false;
	return true;
}

function disableTextField() {
	document.forms[0].textValue5844479.disabled = true;
	return true;
}*/

function checkBeforePost() {
	var length = document.forms[0].nobellikortet.length;
	var form = document.forms[0];
	var i = 0;
	var chosen = "";
	
	for(i=0;i<length;i++) {
		if(form.nobellikortet[i].checked) {
			chosen = form.nobellikortet[i].value;
		}
	}
	
	if(chosen == "") {
		alert("Välj ett alternativ för Nobelliboende");
		return true;
	}
	
	if(chosen == "5844479") {
		if((form.textValue5844479.value == "") || (form.textValue5844479.value == "0")) {
			alert("Ange kommun.");
			return true;
		}
		else {
			form.textValue5844480.value = "";
		}
	}
	else if(chosen == "5844480") {
		if((form.textValue5844480.value == "") || (form.textValue5844480.value == "0")) {
			alert("Ange kommun.");
			return true;
		}
		else {
			form.textValue5844479.value = "";
		}
	}
	
	showWaitDiv();
	form.submit();
	return true;
}

function move() {
	var form = document.forms[0];
	var index = form.kommun.selectedIndex;
	
	if(index > -1) {
		form.textValue5844479.value = form.kommun[index].value;
		form.textValue5844480.value = form.kommun[index].value;
	}
	
	return true;
}

// end hide it -->

