function trim(inString){
   return inString.replace(/^\s*|\s*$/g,"");
}
function isEmail(strValue){
  var objRE = /^[\w-\.\']{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,}$/;
  return (strValue != '' && objRE.test(strValue));
}
function isNumeric(inString, inNum){

	if(trim(inString) != ""){
		if(inNum == 5){
	   		var check = inString.match(/^(\d){5}$/);
		}else if(inNum == 4){
			var check = inString.match(/^(\d){4}$/);
		}else if(inNum == 3){
			var check = inString.match(/^(\d){3}$/);
		}else if(inNum == 10){
			var check = inString.match(/^(\d){10}$/);
		}else if(inNum == 9){
			var check = inString.match(/^(\d){9}$/);
		}else if(inNum == 16){
			var check = inString.match(/^(\d){16}$/);
		}else{
			var check = inString.match(/^(\d*)$/);
		}
		
		if (check == null){
    		return false;
  		}else{
			return true;	
		}
	}
	return true;
}
function checkBrowserDisplayProperties(){
   if (navigator.appName == "Netscape"){
       uA = navigator.userAgent.toLowerCase();
       if(uA.indexOf("firefox") == -1){
           return 'block';
       }else{
           return 'table-row';
       }
   }else{
       return 'block';
   }
}
function isFloat(value) {
	if(isNaN(value) || value.indexOf(".") < 0){
		return false;
	}else{
		if(parseFloat(value)){
			return true;
		}else{
			return false;
		}
	}
}

function getFocus(control){
	document.getElementById(control).setAttribute("class", "textfield_active");
	document.getElementById(control).setAttribute("className", "textfield_active");
}

function deFocus(control){
	document.getElementById(control).setAttribute("class", "textfield");
	document.getElementById(control).setAttribute("className", "textfield");
}

function getFocusTA(control){
	document.getElementById(control).setAttribute("class", "textarea_active");
	document.getElementById(control).setAttribute("className", "textarea_active");
}

function deFocusTA(control){
	document.getElementById(control).setAttribute("class", "textarea");
	document.getElementById(control).setAttribute("className", "textarea");
}

function toggle_general(inId, inDo){
	var inDo;
	var inId;
	
	if(inDo == 1){
		$('.comment_'+inId).slideUp("slow");
		$('.comment_'+inId+'_more').slideDown();
	}else{
		$('.comment_'+inId).slideDown();
		$('.comment_'+inId+'_more').slideUp("slow");
	}
}

function xmlHttpRequest(inUrl){
	document.body.style.cursor='wait';
	
	//Code for Mozilla, Firefox, Safari, and Netscape
	if (window.XMLHttpRequest){
		xmlhttp = new XMLHttpRequest()
		var url = inUrl;
		xmlhttp.open("GET",url,false);
		xmlhttp.send(null);
	}
	//Code for IE
	else if (window.ActiveXObject){
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
		if (xmlhttp){
			var url = inUrl;
			xmlhttp.open("GET",url,false);
			xmlhttp.send();
		}
	}
	
	var locString = xmlhttp.responseText;

	document.body.style.cursor='auto';
	
	xmlhttp.abort();
	
	return locString;
}

function validatePNumForeign(sPNum){
	
	//Kolla så att det bara är siffror
	if(!isNumeric(sPNum)){
		return false;
	}
	
	//Kolla så att antalet siffor är 12
	if(sPNum.length != 12){
		return false;
	}
	
	//Kolla 4 sista = 0000
	lastnumbers = sPNum.substring(8);
	if(lastnumbers != '0000'){
		return false;
	}
	
	var d = new Date();
	if (!isDate(sPNum.substring(0,4),sPNum.substring(4,6),sPNum.substring(6,8))) {
		//alert("Datumet " + sPNum.substring(0,8) + " är inte korrekt.");
		return false;
	}
	
	return true;	
}

function validatePNum(sPNum){
	var numbers = sPNum.match(/^(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)$/);
	var checkSum = 0;
	
	var d = new Date();
	if (!isDate(sPNum.substring(0,4),sPNum.substring(4,6),sPNum.substring(6,8))) {
		//alert("Datumet " + sPNum.substring(0,8) + " är inte korrekt.");
		return false;
	}

	if (numbers == null) { return false; }

	var n;
	for (var i = 3; i <= 12; i++){
		n=parseInt(numbers[i]);
		if (i % 2 == 0) {
			checkSum+=n;
		} else {
			checkSum+=(n*2)%9+Math.floor(n/9)*9
		}
	}

	if (checkSum%10==0) { return true;}
		return false;
}

function getYear(y){
	return (y < 1000) ? y + 1900 : y; 
}

function isDate(year, month, day){
	month = month - 1; // 0-11 in JavaScript
	var tmpDate = new Date(year,month,day);
	if ( (getYear(tmpDate.getYear()) == year) && (month == tmpDate.getMonth()) && (day == tmpDate.getDate()) )
		return true;
	else
		return false;
}

function sign_up(){
	
	var strError;
	strError = "";
	
	//Kontrollera användarnamn
	if(trim(document.form1.username.value) == ""){
		strError += "Username missing\n";
	}else{
		if(!isEmail(trim(document.form1.username.value))){	
			strError += "Username is not valid\n";
		}
	}
	
	//Lösenord
	if(trim(document.form1.password.value) == ""){	
		strError += "Password missing\n";
	}
	
	if(strError.length > 0){
		alert(strError);
		return false;	
	}else{
		document.form1.submit();
	}
	
}

function forgotten_password(){
	
	var strError;
	strError = "";
	
	//Kontrollera användarnamn
	if(trim(document.form1.email.value) == ""){
		strError += "Email missing\n";
	}else{
		if(!isEmail(trim(document.form1.email.value))){	
			strError += "Email is not valid\n";
		}
	}
	
	if(strError.length > 0){
		alert(strError);
		return false;	
	}else{
		document.form1.submit();
	}
	
}
