var que = "?";
var and = "&";
var bracket = "#";
var divider = "@";
var equals = "=";
var inputVal = "value";
var boxChecked = "checked";
var marked_row = new Array;

function showMenu(id) { 
  if (id.style.visibility == 'hidden') {
    id.style.visibility = 'visible';  
    	}
  else {
	id.style.visibility = 'hidden';
  	}  
      }

function hideMenu(id){
	id.style.visibility = 'hidden';
	}

function openWindow(url, name) {
	window.open(url, name, popupParams(name));
}

function closeWindow() {
	self.close();
}

function popupParams(page) {
	var params;
	
	switch ( page.toLowerCase() )
	{
		case "help" :
			params = 'toolbar=0,location=0,top=150,left=450,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=650,height=400';	
			break;
		case "invoice" :
			params = 'toolbar=1,location=0,top=0,left=350,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=850,height=900';	
			break;
		case "disppicture" :
			params = 'toolbar=0,location=0,top=0,left=250,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=750,height=900';	
			break;
		case "disponepicture" :
			params = 'toolbar=0,location=0,top=0,left=250,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=750,height=500';	
			break;
		case "pdf" :
			params = 'toolbar=1,location=0,top=0,left=350,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=700,height=900';	
			break;
		case "blankpage" :
			params = '';
			break;		
		case "popup" :
			params = 'toolbar=0,location=0,top=100,left=350,directories=0,status=1,menubar=0,scrollbars=0,resizable=0,width=500,height=600';
			break;	
		default :
			params = 'toolbar=0,location=0,top=300,left=450,directories=0,status=1,menubar=0,scrollbars=0,resizable=0,width=400,height=400';
			break;	
	}
	
	return params;
}

function chkForm(){

	name = document.form.formsfld2_2.value;
	if(name == ""){
		window.alert("Ange namn!")
		form.formsfld2_2.focus();
		return false;
	}

}

function chkTipFriend(){

	MyName = document.tipFriend.MyName.value;
	if(MyName == ""){
	window.alert("Ange namn!")
	tipFriend.MyName.focus();
	return false;
	}
	RecvEmail = document.tipFriend.RecvEmail.value;
	if (RecvEmail == ""){
	window.alert ("E-post skall anges!");
	tipFriend.RecvEmail.focus();
	tipFriend.RecvEmail.select();
	return false;
	}
	paaPos = RecvEmail.indexOf('@',0);
	if (paaPos == -1){
	window.alert ("E-post skall anges!");
	tipFriend.RecvEmail.focus();
	tipFriend.RecvEmail.select();
	return false;
	}
	punktumPos = RecvEmail.indexOf ('.',paaPos);
	if (punktumPos == -1){
	window.alert ("E-post skall anges!");
	tipFriend.RecvEmail.focus();
	tipFriend.RecvEmail.select();
	return false;
	}
	if (punktumPos+3 > RecvEmail.length) {
	window.alert ("E-post skall anges!");
	tipFriend.RecvEmail.focus();
	tipFriend.RecvEmail.select();
	return false;
	}

}

function chkAcceptCond(f){

	if (f.acceptConditions.checked == false) {
	   window.alert("Ni måste godkänna köpvillkoren!")
	   form1.acceptConditions.focus();
	   return false;
	}
   else return true;

}

//a fix for JavaScript's crappy math handling
function fixIt(num) {
	return(Math.round(num*10000000)/10000000);
}

function updBalDeb(){

	deb = parseFloat(document.acc.debet_01.value);
	deb += parseFloat(document.acc.debet_02.value);
	deb += parseFloat(document.acc.debet_03.value);
	document.acc.acc_balDeb.value = fixIt(eval(deb));

	var cred = parseFloat(document.acc.credit_01.value);
	cred += parseFloat(document.acc.credit_02.value);
	cred += parseFloat(document.acc.credit_03.value);

	var diff = deb - cred;
	diff.toFixed(2);
	diff = fixIt(eval(diff));

	document.acc.acc_diff.value = diff;

}

function updBalCred(){

	var deb = parseFloat(document.acc.debet_01.value);
	deb += parseFloat(document.acc.debet_02.value);
	deb += parseFloat(document.acc.debet_03.value);

	var cred = parseFloat(document.acc.credit_01.value);
	cred += parseFloat(document.acc.credit_02.value);
	cred += parseFloat(document.acc.credit_03.value);
	document.acc.acc_balCred.value = fixIt(eval(cred));

	var diff = deb - cred;
	diff.toFixed(2);

	document.acc.acc_diff.value = fixIt(eval(diff));

}

function chkAccDiff(){

	var diff = parseFloat(document.acc.acc_diff.value);
	if(diff != 0){
		window.alert("Differensen måste vara noll!")
	   acc.debet_01.focus();
		return false;
	}

	if (window.confirm("Skapa verifikation?")) {
		return true;
	}
	
	return false;

}

function chkProdChar(chkWeightZero,chkVolumeZero,prodLen) {

	invalidChars = "'></,;";
	invalidChars2 = '"';
	var prod = document.addProd.Product.value;
	var shortName = document.addProd.ShortName.value;
	var weight = document.addProd.Weight.value;
	var volume = document.addProd.Volume.value;
	
	if (prod == "") {
		window.alert("Produkt måste fylls i!")
		addProd.Product.focus();
		addProd.Product.select();
		return false;
	}
	
	if (prod.length > prodLen) {
		window.alert("Max " + prodLen + " tecken i produktnamnet!")
		addProd.Product.focus();
		addProd.Product.select();
		return false;
	}
	
	//if (shortName == "") {
		//window.alert("Kortnamn måste fylls i!")
		//addProd.ShortName.focus();
		//addProd.ShortName.select();
		//return false;
	//}

	if (shortName.length > 50) {
		window.alert("Max 50 tecken i kortnamnet!")
		addProd.ShortName.focus();
		addProd.ShortName.select();
		return false;
	}
	
	for (i=0; i<invalidChars.length; i++) {
		badChar = invalidChars.charAt(i);
		if (prod.indexOf(badChar,0) > -1) {
			window.alert("Ej tillåtna tecken ('></,;) i produktnamnet!")
			addProd.Product.focus();
			addProd.Product.select();
			return false;
		}
	}

	for (i=0; i<invalidChars.length; i++) {
		badChar = invalidChars.charAt(i);
		if (shortName.indexOf(badChar,0) > -1) {
			window.alert("Ej tillåtna tecken ('></,;) i kortnamn!")
			addProd.ShortName.focus();
			addProd.ShortName.select();
			return false;
		}
	}

	for (i=0; i<invalidChars2.length; i++) {
		badChar = invalidChars2.charAt(i);
		if (prod.indexOf(badChar,0) > -1) {
			window.alert('Ej tillåtna tecken (") i produktnamnet!')
			addProd.Product.focus();
			addProd.Product.select();
			return false;
		}
	}

	if (chkWeightZero == "Y") {
		if (weight == 0 || weight == "") {
			window.alert("Vikt får ej vara noll!")
			addProd.Weight.focus();
			addProd.Weight.select();
			return false;
		}
	}

	if (chkVolumeZero == "Y") {
		if (volume == 0 || volume == "") {
			window.alert("Volym får ej vara noll!")
			addProd.Volume.focus();
			addProd.Volume.select();
			return false;
		}
	}

}

function chkUPSData() {

	invalidChars = "'></,;";
	invalidChars2 = '"';
	var noPack = document.crtUPSLabel.NoOfPackage.value;
	var desc = document.crtUPSLabel.Description.value;
	
	if (desc == "") {
		window.alert("Beskrivningen måste fylls i!")
		crtUPSLabel.Description.focus();
		crtUPSLabel.Description.select();
		return false;
	}
	
	if (desc.length > 50) {
		window.alert("Max 50 tecken i beskrivningen!")
		crtUPSLabel.Description.focus();
		crtUPSLabel.Description.select();
		return false;
	}
	
	for (i=0; i<invalidChars.length; i++) {
		badChar = invalidChars.charAt(i);
		if (desc.indexOf(badChar,0) > -1) {
			window.alert("Ej tillåtna tecken ('></,;) i beskrivningen!")
			crtUPSLabel.Description.focus();
			crtUPSLabel.Description.select();
			return false;
		}
	}

	if (noPack == 0 || noPack == "") {
		window.alert("Antal kolli får ej vara noll!")
		crtUPSLabel.NoOfPackage.focus();
		crtUPSLabel.NoOfPackage.select();
		return false;
	}

}

function chkDHLData() {

	invalidChars = "'></,;";
	invalidChars2 = '"';
	var noPack = document.crtDHLLabel.NoOfPackage.value;
	var desc = document.crtDHLLabel.Description.value;
	
	if (desc == "") {
		window.alert("Beskrivningen måste fylls i!")
		crtDHLLabel.Description.focus();
		crtDHLLabel.Description.select();
		return false;
	}
	
	if (desc.length > 50) {
		window.alert("Max 50 tecken i beskrivningen!")
		crtDHLLabel.Description.focus();
		crtDHLLabel.Description.select();
		return false;
	}
	
	for (i=0; i<invalidChars.length; i++) {
		badChar = invalidChars.charAt(i);
		if (desc.indexOf(badChar,0) > -1) {
			window.alert("Ej tillåtna tecken ('></,;) i beskrivningen!")
			crtDHLLabel.Description.focus();
			crtDHLLabel.Description.select();
			return false;
		}
	}

	if (noPack == 0 || noPack == "") {
		window.alert("Antal kolli får ej vara noll!")
		crtDHLLabel.NoOfPackage.focus();
		crtDHLLabel.NoOfPackage.select();
		return false;
	}

}

function swtVatModeIV(applUrl){

	window.location=applUrl;

}

function swtVatModeEV(applUrl){

	window.location=applUrl;

}

function userConfDltInv(){

	if (window.confirm("Ta bort faktura?")) {
		return true;
	}

	return false;

}

function userConfDltOrder(){

	if (window.confirm("Ta bort order (samt alla orderrader)?")) {
		return true;
	}

	return false;

}

function userConf(text){

	if (window.confirm(text)) {
		return true;
	}
	return false;

}

function userConfArchiveOrder(){

	if (window.confirm("Arkivera order (samt alla orderrader)?")) {
		return true;
	}

	return false;

}

function userConfCpyDBTbl(){

	if (window.confirm("Kopiera databastabeller?")) {
		return true;
	}

	return false;

}

function userConfCpyInst(){

	if (window.confirm("Kopiera butik?")) {
		return true;
	}

	return false;

}

function userConfDltDBTbl(){

	if (window.confirm("Ta bort databastabeller?")) {
		return true;
	}

	return false;

}

function userConfCpyExtDB(){

	if (window.confirm("Kopiera extern databas?")) {
		return true;
	}

	return false;

}

function userConfRunFixPgm(){

	if (window.confirm("Köra fix program?")) {
		return true;
	}

	return false;

}

function userConfEmptyDBTbl(){

	if (window.confirm("Töm databastabeller (alla produkter, grupper, familjer, order, händelser mm)?")) {
		return true;
	}

	return false;

}

function stripHTML(){

	var re = /(<([^>]+)>)/gi;
	//if (window.confirm("Remove HTML tags?")) {
		for (i=0; i<arguments.length; i++)
		arguments[i].value=arguments[i].value.replace(re, "")
		//return true;
	//}

	//return false;
}

function screenWidth() {

width = screen.availWidth;

return width;

}

function IsRightButtonClicked(e)
{ 
var rightclick = false;
e = e || window.event;
if (e.which)
rightclick = (e.which == 3);
else if (e.button)
rightclick = (e.button == 2);
return rightclick;
}

function setCookie(c_name,value,expiredays) {
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function runOnLoad() {

width = screen.availWidth;
setCookie('myShop_data','SW=' + width,1)
}

function hideDiv() {

	var isIE = (window.ActiveXObject)?true:false;

	var attributeClass = (isIE)?"className":"class";

	var element = document.getElementById("hiddenDiv");

	if(element==null)

	return;

	if(element.getAttribute(attributeClass)=="hidden")

	element.setAttribute(attributeClass, "visible");

	else

	element.setAttribute(attributeClass, "hidden");

}

function markAllRows( container_id ) {
    var rows = document.getElementById(container_id).getElementsByTagName('tr');
    var unique_id;
    var checkbox;
	
    for ( var i = 0; i < rows.length; i++ ) {

        checkbox = rows[i].getElementsByTagName( 'input' )[0];

        if ( checkbox && checkbox.type == 'checkbox' ) {
            unique_id = checkbox.name + checkbox.value;
            if ( checkbox.disabled == false ) {
                checkbox.checked = true;
                if ( typeof(marked_row[unique_id]) == 'undefined' || !marked_row[unique_id] ) {
                    rows[i].className += ' marked';
                    marked_row[unique_id] = true;
                }
            }
        }
    }

    return true;
}

function unMarkAllRows( container_id ) {
    var rows = document.getElementById(container_id).getElementsByTagName('tr');
    var unique_id;
    var checkbox;

    for ( var i = 0; i < rows.length; i++ ) {

        checkbox = rows[i].getElementsByTagName( 'input' )[0];

        if ( checkbox && checkbox.type == 'checkbox' ) {
            unique_id = checkbox.name + checkbox.value;
            checkbox.checked = false;
            rows[i].className = rows[i].className.replace(' marked', '');
            marked_row[unique_id] = false;
        }
    }

    return true;
}

