function validEmail(email){ 
	var emailRE = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;	
	if (!emailRE.test(email)){	
		return false;
	}else{
		return true;
	}
}

function number_format (number, decimals, dec_point, thousands_sep) {
	var exponent = "";
	var numberstr = number.toString ();
	var eindex = numberstr.indexOf ("e");
	if (eindex > -1) {
	exponent = numberstr.substring (eindex);
	number = parseFloat (numberstr.substring (0, eindex));
	}
	if (decimals != null) {
	var temp = Math.pow (10, decimals);
	number = Math.round (number * temp) / temp;
	}
	var sign = number < 0 ? "-" : "";
	var integer = (number > 0 ?
	Math.floor (number) : Math.abs (Math.ceil (number))).toString ();
	var fractional = number.toString ().substring (integer.length + sign.length);
	dec_point = dec_point != null ? dec_point : ".";
	fractional = decimals != null && decimals > 0 || fractional.length > 1 ? (dec_point + fractional.substring (1)) : "";
	if (decimals != null && decimals > 0) {
	for (i = fractional.length - 1, z = decimals; i < z; ++i) {
	fractional += "0";
	}
	}
	thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ? thousands_sep : null;
	if (thousands_sep != null && thousands_sep != "") {
	for (i = integer.length - 3; i > 0; i -= 3){
	integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
	}
	} 
	return sign + integer + fractional + exponent;
}

function Confirms() {
	if(confirm("Er du sikker på du vil fjerne dette produkt?")) {
		return(true);
	}
	return(false);
}

	var xmlHttp;
	var completeDiv;
	var inputField;
	var nameTable;
	var nameTableBody;
	var p;
	var name=new String();

	function createXMLHttpRequest() {
		if (window.ActiveXObject) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		else if (window.XMLHttpRequest) {
			xmlHttp = new XMLHttpRequest();                
		}
	}

	function initVars() {
		inputField = document.getElementById("txtnames");            
		nameTable = document.getElementById("name_table");
		completeDiv = document.getElementById("popup");
		nameTableBody = document.getElementById("name_table_body");
	}

	function findNames() {
		initVars();
		if (inputField.value.length > 0) {
			createXMLHttpRequest();            
			var url = "CompleteData.php?names=" + inputField.value;                        
			xmlHttp.open("GET", url, true);
			xmlHttp.onreadystatechange = callback;
			xmlHttp.send(null);
		} else {
			clearNames();
		}
	}

	function callback() {
		if (xmlHttp.readyState == 4) {
			if (xmlHttp.status == 200) {
				name =  document.getElementById("popup").innerHTML = xmlHttp.responseText;
				setNames();
			} else if (xmlHttp.status == 204){
				clearNames();
			}
		}
	}
	
	function setNames() {         
		p = name.split(",");  
		clearNames();
		var size = p.length;
		setOffsets();
		var row, cell, txtNode;
		for (var i = 0; i < size; i++) {
			var nextNode =p[i] 
			row = document.createElement("tr");
			cell = document.createElement("td");
			
			cell.onmouseout = function() {this.className='mouseOver';};
			cell.onmouseover = function() {this.className='mouseOut';};
			cell.setAttribute("bgcolor", "#FFFFFF");
			cell.setAttribute("border", "0");
			cell.onclick = function() { populateName(this); } ;                             

			txtNode = document.createTextNode(nextNode);
			cell.appendChild(txtNode);
			row.appendChild(cell);
			nameTableBody.appendChild(row);
			
		}
	}

	function setOffsets() {
		var end = inputField.offsetWidth;
		var left = calculateOffsetLeft(inputField);
		var top = calculateOffsetTop(inputField) + inputField.offsetHeight;
		
		nameTable.style.border = "none";
		nameTable.style.left = left + "px";
		nameTable.style.top = top + "px";
		nameTable.style.width = "520px";
	}
	
	function calculateOffsetLeft(field) {
	  return calculateOffset(field, "offsetLeft");
	}

	function calculateOffsetTop(field) {
	  return calculateOffset(field, "offsetTop");
	}

	function calculateOffset(field, attr) {
	  var offset = 0;
	  while(field) {
		offset += field[attr]; 
		field = field.offsetParent;
	  }
	  return offset;
	}

	function populateName(cell) {
		inputField.value = cell.firstChild.nodeValue;
		clearNames();
	}

	function clearNames() {
		var ind = nameTableBody.childNodes.length;
		for (var i = ind - 1; i >= 0 ; i--) {
			 nameTableBody.removeChild(nameTableBody.childNodes[i]);
		}
			 completeDiv.style.border = "none";
	}




function isDate(dateStr) {
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?
	
	if (matchArray == null) {
		alert('Please enter your birth date as dd/mm/yyyy. Your current selection reads: ' + dateStr);
		return false;
	}
	
	day = matchArray[1]; // p@rse date into variables
	month = matchArray[3];
	year = matchArray[5];
	
	if (month < 1 || month > 12) { // check month range
		alert('Month must be between 1 and 12.');
		return false;
	}
	
	if (day < 1 || day > 31) {
		alert('Day must be between 1 and 31.');
		return false;
	}
	
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		alert('Month '+month+' doesn\'t have 31 days!');
		return false;
	}
	
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) {
			alert('February ' + year + ' doesn\'t have ' + day + ' days!');
			return false;
		}
	}
	return true; // date is valid
}



