// JavaScript Document
var emailFilter=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
var error="";
function uploadImageValidator() { 
	if(document.getElementById('imagefile').value=="") { 
		alert("Please select image file");
		return false;
	}
	return true;
}
function searchFieldValidator(form){
	if(trimmer(form.sstr.value)==""){
		alert("Please enter a value in search box");
		form.sstr.focus();
		return false;
	}
	return true;
}
function trimmer(inputString)
{
	return inputString.replace(/^\s+|\s+$/g,"");
}
function validateKund(form)
{
		error = "";
		if(trimmer(form.losenord.value)=="")
			error+="Lösenord är ett obligatoriskt fält\n";
		if(trimmer(form.foretagsnamn.value)=="")
			error+="Företagsnamn är ett obligatoriskt fält\n";
		if(trimmer(form.fakt_orgnr.value)=="")
			error+="Orgnr är ett obligatoriskt fält\n";
		if(trimmer(form.fakt_tfn.value)=="")
			error+="Telefon är ett obligatoriskt fält\n";
		if(trimmer(form.epostadress.value) == "")
			error+="E-postadress är ett obligatoriskt fält\n";
		if(!emailFilter.test(form.epostadress.value) && trimmer(form.epostadress.value)!="")
			error+="E-postadressen är inte giltig\n";
		if(!emailFilter.test(form.email_orders.value) && trimmer(form.email_orders.value)!="")
			error+="E-postkopia ang. beställningar är inte giltig\n";
		if(!emailFilter.test(form.email_invoices.value) && trimmer(form.email_invoices.value)!="")
			error+="E-post för fakturafrågor är inte giltig\n";	
		if(trimmer(form.fakt_kontaktperson.value)=="")
			error+="Er referens är ett obligatoriskt fält\n";
		if(trimmer(form.invoice_type.value)=="E-postfaktura" && trimmer(form.email_invoices.value)=='')
			error+="E-postadress är ett obligatoriskt fält\n";	
		if(error != "")
		{
			alert(error);
			return false;
		}
		form.submitbutton.disabled=1; 
		form.submitbutton.value='Vänta...';
		return true;
}
function validateSearchOrder(form){
		if(trimmer(form.searchstring.value)=="")
		{
			alert("Skiv något i sökrutan");
			return false;
		}
		return true;
}
function productImageValidator(form){
		if(trimmer(form.imagefile.value)=="")
		{
			alert("Välj en fil");
			return false;
		}
		return true;
}
function subcatValidator(form){
		if(trimmer(form.NewCategoryName.value)=="")
		{
			alert("Please enter subcategory name");
			form.NewCategoryName.focus();
			return false;
		}
		return true;	
}
function productValidator(form){
		if(trimmer(form.NewProductID.value)=="")
		{
			alert("Please enter product id");
			form.NewProductID.focus();
			return false;
		}
		if(trimmer(form.NewProductName.value)=="")
		{
			alert("Please enter product name");
			form.NewProductName.focus();
			return false;
		}
		return true;
}
function loginValidator(form){
		if(trimmer(form.loginkundid.value)=="")
		{
			alert("Please enter Kundnummer");
			form.loginkundid.focus();
			return false;
		}
		if(trimmer(form.loginlosenord.value)=="")
		{
			alert("Please enter Losenord");
			form.loginlosenord.focus();
			return false;
		}
		return true;
}
function bestallareValidator(form){
		if(trimmer(form.fullname.value)=="")
		{
			alert("Please enter full name");
			form.fullname.focus();
			return false;
		}
		if(!emailFilter.test(trimmer(form.email.value)))
		{
			alert("Please enter valid email address");
			form.email.focus();
			return false;
		}
		form.submitbutton.disabled=1; 
		form.submitbutton.value='Vänta...';
		return true;
}
function validateProof(form)
{
		var proof = "";
		for (var i=0; i < form.flag_korrok.length; i++)
		{
		   if (form.flag_korrok[i].checked)
			{
			  proof = 1;
			}
		}
		if(proof=="")
		{
			alert("Vänligen välj ett av svaren");
			return false;
		}
		if(trimmer(form.korr_sign.value)=="")
		{
			alert("Please enter your name");
			form.korr_sign.focus();
			return false;
		}
		return true;
}
function validateProductForm(form){
		if(trimmer(form.requiredantalst.value) == ""){
			alert("Vänligen skriv i antalet");
			form.requiredantalst.focus();
			return false;
		}
		form.submitbutton.disabled=1; 
		form.submitbutton.value='Beställningen sparas, vänta...';
		return true;
}
function validateProductConfigForm(form, admin){
		if(trimmer(form.requiredantalst.value) == ""){
			alert("Please enter quantity number");
			form.requiredantalst.focus();
			return false;
		}
		var splitter_antalst = $(".splitter_antalst");
		var total_antalst = 0;
		if(splitter_antalst.length > 0){
			for(var i=0; i<splitter_antalst.length; i++){
				var split_count = trimmer($(splitter_antalst[i]).val());
				total_antalst += parseInt(split_count);
				if(split_count < moq){
					alert("Minsta antal är "+moq+"st");
					if(!admin){
						$(splitter_antalst[i]).val(moq).focus();
						return false;
					}
				}
			}
			if(trimmer(form.requiredantalst.value) != total_antalst){
				alert("The total quantity number must be the total of the attribute split quantity");
				form.requiredantalst.focus();
				return false;
			}
		}else{
			if(trimmer(form.requiredantalst.value) < moq && !admin){
				alert("Minsta antal att beställa är "+moq);
				form.requiredantalst.focus();
				return false;
			}
		}
		var error = false;
		if(!admin){
			$(".produktorderform .pctable select").each(function(){
				if($.trim($(this).parent().prev().find('font').html()) == '(obl.)' && $(this).val() == ''){
					alert('Några av de obligatoriska fälten saknas');
					$(this).focus();
					error = true;
					return false;
				}
			});
		}
		if(error)
			return false;
		return true;
}

function validateOffertForm(form, admin){

		var splitter_antalst = $(".splitter_antalst");
		var total_antalst = 0;
		if(splitter_antalst.length > 0){
			for(var i=0; i<splitter_antalst.length; i++){
				var split_count = trimmer($(splitter_antalst[i]).val());
				total_antalst += parseInt(split_count);
				if(split_count < moq){
					alert("Split quantity cannot be less than "+moq);
					$(splitter_antalst[i]).focus();
					return false;
				}
			}
			if(trimmer(form.antalst.value) != total_antalst){
				alert("The total quantity number must be the total of the attribute split quantity");
				form.antalst.focus();
				return false;
			}
		}else{
			if(trimmer(form.antalst.value) < moq && !admin){
				alert("Minsta antal att beställa är "+moq);
				form.antalst.focus();
				return false;
			}
		}
		var error = false;
		if(!admin){
			$(".nyoffertForm .pctable select").each(function(){
				if($.trim($(this).parent().prev().find('font').html()) == '(obl.)' && $(this).val() == ''){
					alert('Några av de obligatoriska fälten är ej valda');
					$(this).focus();
					error = true;
					return false;
				}
			});
		}
		if(error)
			return false;
			
		form.submit.disabled=1; 
		form.submit.value='Offertförfrågan sparas, vänta...'; 
		return true;
}

var myimages=new Array();
function preloadimages(){
	for (i=0;i<preloadimages.arguments.length;i++){
		myimages[i]=new Image();
		myimages[i].src=preloadimages.arguments[i];
	}
}	
 
function numbersonly(myfield, e, dec)
{
		var key;
		var keychar;
		 
		if (window.event)
		   key = window.event.keyCode;
		else if (e)
		   key = e.which;
		else
		   return true;
		keychar = String.fromCharCode(key);
		 
		// control keys
		if ((key==null) || (key==0) || (key==8) || 	(key==9) || (key==13) || (key==27) )
		   return true;
		 
		// numbers
		else if ((("0123456789").indexOf(keychar) > -1))
		   return true;
		 
		// decimal point jump
		else if (dec && (keychar == ".")){
		   myfield.form.elements[dec].focus();
		   return false;
	    }else
		   return false;
} 
function validateLegoForm(form)
{
	error="";
	if(trimmer(form.requiredproduktbeskrivning.value)=="")
		error += "Vilken produkt är ett obligatoriskt fält\n";
	if(trimmer(form.requiredantalst.value)=="")
		error += "Antal produkter är ett obligatoriskt fält\n";
	if(trimmer(form.requiredtryckmotiv.value)=="")
		error += "Vilket tryckmotiv är ett obligatoriskt fält\n";
	if(trimmer(form.requiredtryckfarg.value)=="")
		error += "Tryckfärg är ett obligatoriskt fält\n";
	if(error != "")
	{
		alert(error);
		return false;
	}
	form.submitbutton.disabled=1;
	form.submitbutton.value="Beställningen sparas, vänta...";
	return true;
}

function validateSalesForm(form){
	if(trimmer(form.fullname.value)=="")
	{
		alert("Namn är ett obligatoriskt fält");
		form.fullname.focus();
		return false;
	}
	if(!emailFilter.test(form.email.value))
	{
		alert("E-postadress är ett obligatoriskt fält och måste vara korrekt ifylld.");
		form.email.focus();
		return false;
	}
	return true;
}
function validateDispatch(form){
	if(trimmer(form.kolliid.value)=="")
	{
			alert("Tracking ID is a mandatory field");
			form.kolliid.focus();
			return false;
	}
	return true;
}
function validateOrderConfirmation(form){
	if(trimmer(form.extern_ordernr.value)=="")
	{
			alert("Order reference is a mandatory field");
			form.extern_ordernr.focus();
			return false;
	}
	if(trimmer(form.confirmed_dispatchdate.value)=="")
	{
			alert("Confirmed date is a mandatory field");
			form.confirmed_dispatchdate.focus();
			return false;
	}
	return true;
}
function validateOConfirm(form){
	if(trimmer(form.confirmed_dispatchdate.value)=="")
	{
			alert("Confirmed date is a mandatory field");
			form.confirmed_dispatchdate.focus();
			return false;
	}
	return true;
}
function validateCRM(form){
	if(trimmer(form.filtertext.value) == ""){
		alert("Please enter a search term");
		form.filtertext.focus();
		return false;
	}
	return true;
}
function validateNewsletter(form){
	if(!emailFilter.test(trimmer(document.getElementsByName('cm-hkijir-hkijir')[form].value))){
		alert("Please enter valid email address");
		document.getElementsByName('cm-hkijir-hkijir')[form].focus();
		return false;
	}
	return true;
}
function selectArtNo(artnr,referer){
		var produktconfig_url = document.getElementById("produktconfiglink").href;
		var nyoffertlink_url = document.getElementById("nyoffertlink").href;
		var turndown = false;
		if(produktconfig_url.search('artnr') > 0){
			if(artnr == produktconfig_url.substr(produktconfig_url.search('artnr')+6)){
				document.getElementById("produktconfiglink").href = produktconfig_url.substr(0,produktconfig_url.search('artnr')-1);
				document.getElementById("nyoffertlink").href = nyoffertlink_url.substr(0,nyoffertlink_url.search('artnr')-1);
				turndown = true;
				referer.setAttribute("class","");
			}else{
				document.getElementById("produktconfiglink").href = produktconfig_url.substr(0,produktconfig_url.search('artnr')-1) + '&artnr=' + artnr;
				document.getElementById("nyoffertlink").href = nyoffertlink_url.substr(0,nyoffertlink_url.search('artnr')-1) + '&artnr=' + artnr;
			}
		}else{
			document.getElementById("produktconfiglink").href = produktconfig_url + '&artnr=' + artnr;
			document.getElementById("nyoffertlink").href = nyoffertlink_url + '&artnr=' + artnr;
		}
		var artnr_links = document.getElementsByName("artno_links");
		for(var i=0; i<artnr_links.length; i++){
			artnr_links[i].setAttribute("class","");
		}
		if(!turndown){
			referer.setAttribute("class","artnr_active");
			document.getElementById("produktconfiglink").setAttribute("class","rightarrow");
			document.getElementById("nyoffertlink").setAttribute("class","rightarrow");
		}else{
			document.getElementById("produktconfiglink").setAttribute("class","");
			document.getElementById("nyoffertlink").setAttribute("class","");
		}
		return false;
}

function sortering(order,referer){
	if(referer.getAttribute("class") == 'red')
		return false;
	var ajaxRequest;  // The variable that makes Ajax possible!
	var controllerURL = "/sidebarControllers/order.php";
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('sidebar-listing');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}
	
	var queryString = "?sorting="+order;
	ajaxRequest.open("GET", controllerURL + queryString, true);
	ajaxRequest.send(null); 
	return false;
}
