// Javascript funtions for foto@ebbot.net

function viewPicture(PicturePath)
  {
  var settings = "toolbar=0,location=1,status=1,menubar=0,scrollbars=1,resizable=1,top=45,left=100,width=680,height=565";
  window.open(PicturePath,"Picture",settings);
  }

function displayPicture(PicturePath)
  {
  var settings = "toolbar=0,location=1,status=1,menubar=0,scrollbars=1,resizable=1,top=45,left=100,width=680,height=565";
  window.open(PicturePath,"Picture",settings);
  }

function ChkBrowser(ie,ns){
	// Check which browser user is using, takes browser version number argument.
	// Returns ns or ie if its ok or false if not okay.
	if (navigator.appName == 'Netscape' && navigator.appVersion.substring(0,1) >= ns) {
		return 'ns';
	}
	if (navigator.appName.substring(0,27) == 'Microsoft Internet Explorer' && navigator.appVersion.substring(0,1) >= ie) {
		return 'ie';
	}

	if (navigator.appName.substring(0,27) != 'Microsoft Internet Explorer' && navigator.appName != 'Netscape') {
		alert('This site requires Netscape 4.0 or Internet Explorer 4.0 and above.');
		return false;
	}
return false;
}

function setLayerAction(layer) {
	// Adds an event to a layer
	if(layer.captureEvents) layer.captureEvents(Event.MOUSEOVER|Event.MOUSEOUT);
	layer.onmouseover = highLite;
	layer.onmouseout = unHighLite;
}

function highLite(){
	// Hightlite layer with specified color
	if (ChkBrowser(4,4) == 'ns') {
		this.bgColor = '#e6e6ad';
	} else {
		this.style.background='#e6e6ad';
	}
}	

function unHighLite(){
	// Unhighlite layer with specified color
	if (ChkBrowser(4,4) == 'ns') {
		this.bgColor = '#ffffeb';
	} else {
		this.style.background='#ffffeb';
	}
}	

function init() {
	// Loops throu every layer add events for layer with name starting with row.
	if (ChkBrowser(4,4) == 'ns') {
		for (z=0;z < document.layers.length;z++) {
			if (document.layers[z].name.substring(0,3)=='row') {
				// Disable Netscape
				setLayerAction(document.layers[z])
			}
		}
	} else {
		for (z=0;z < window.document.all.length;z++) {
			if (window.document.all[z].id.substring(0,3)=='row') {
				setLayerAction(window.document.all[z])
			}
		}
	}
}



function ChkValidChars(obj,ch,message){
	// Takes object, validcharacters and errormessage.
	// Loops throu string and checks if character in string is valid.
	var i,j;
	for (i=0;i < obj.value.length;i++) {
		for (j=0;j < ch.length;j++)	{
			if (ch.indexOf(obj.value.substring(i,i+1))== -1) {
				alert(message)
				return false;
			}
		}
	}
	return true;
}


function ChkNotValidFirstChar(obj,ch,message){
	var i = 0;
	for(j = 0; j < ch.length; j++)	{
		if(obj.value.charAt(0) == ch.charAt(j)) {
			alert(message);
			return false;
		}
	}
	return true;
}



function ChkField(obj,errmsg,minlength,maxlength){
	// Takes object, errormessage and minimum and maximum length of string.
	if (obj.value.length <= minlength || obj.value.length >= maxlength) {
	    alert(errmsg);
	    obj.focus();
	    return false;
	}
	else
	{
		return true;
	}
}

function ChkEmail (obj,errmsg){
	// Takes object and errormessage
	// Checks if string is formatted as a valif email address.
	if (ChkField(obj,'Ange din E-postadress.',0,999) == false) {
    	return false;
	}
	else
	{
		if (ChkValidChars(obj,'@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-~.!','E-postadressen innehåller otillåtna tecken.')) {
			// Check for @
			if (obj.value.indexOf('@') == -1) {
				alert(errmsg);
				return false;
			} else {
				// Check the position of @, must be atleast one character.
				if (obj.value.indexOf('@') < 1) {
					alert(errmsg);
					return false;
				}
				// Check for number of characters at the end of address
				if (obj.value.length - obj.value.lastIndexOf('.') < 3) {
					alert(errmsg);
					return false;
				}
				// Check for number of characters between @ and last dot.
				if (obj.value.lastIndexOf('.') - obj.value.lastIndexOf('@') < 2) {
					alert(errmsg);
					return false;
				}
			}
		}else{
			return false;
		}
	}
}

function ChkCharsAndNumbers(obj){
	// Check how many charcters and numbers that exist in a string
	var sChars;
	var sNumb;
	var i,j;
	sChars 			= 'abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ';
	sNumbers		= '0123456789';
	nChars = 0;
	nNumbers = 0;
	for (i=0;i < obj.value.length;i++) {
		for (j=0;j < sChars.length;j++)	{
			if (sChars.indexOf(obj.value.substring(i,i+1)) != -1) {
				nChars++;
			}
		}

		for (j=0;j < sNumbers.length;j++) {
			if (sNumbers.indexOf(obj.value.substring(i,i+1)) != -1)	{
				nNumbers++;
			}
		}
	}
	if (nNumbers == 0 || nChars == 0) {
		alert('Ditt lösenord måste innehålla både siffror och bokstäver!.');
		return false;
	}
return true;
}

