// Visar en popup
function showPopup(url, width, height, scroll)
{
	var newWindow = window.open(url, 'popup', 'width='+width+',height='+height+',toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars='+scroll+',resizable=0'); 
	newWindow.focus();
}

// Uppdaterar en inputs v?rde.
function updateInput(objInput,val)
{
	objInput.value = val;
}

// Skickar ett formul?r vid ?ndring av en selectbox
function selectBoxPostForm(objSelect)
{
	var objForm = objSelect.form;
	objForm.submit();
}

// Validerar alla inputs i arrInputs
function validateForm(objForm,arrInputs)
{
	var errorMsg = "";
	for (var i=0;i<arrInputs.length;i++)
	{
		if (document.getElementById(arrInputs[i][0]).value == "")
		{
			errorMsg += arrInputs[i][1] + "\n";
		}
	}
	if (errorMsg != "")
	{
		alert("För att du ska kunna skicka formul?ret behöver du fylla i:\n" + errorMsg);
		return false;
	}
	else
	{
		return true;
	}
}

// Validerar en input som ska inneh?lla enbart siffror
function validateInputNumeric(objInput)
{
	if (objInput.value != "")
	{
		var re = /^\d+$/;
		if (!re.test(objInput.value))
		{
			objInput.value = "";
			objInput.focus();
			alert("Detta f?lt f?r enbart inneh?lla siffror!");
		}
	}
}

function highlight(obj,color)
{
	obj.style.backgroundColor = color;
}

function highlightOff(obj)
{
	obj.style.backgroundColor = "";
}

function highlightBorder(obj,color)
{
	obj.style.borderColor = color;
}

function highlightBorderOff(obj)
{
	obj.style.borderColor = "";
}

// Bekr?ftar ny url
function confirmURL(warning,url)
{
	if(confirm(warning)) location = url;
}

// Bekr?ftar post av formul?r
function confirmPost(warning)
{
	return (confirm(warning));
}

function getRandomNum(lbound, ubound) {
	return (Math.floor(Math.random() * (ubound - lbound)) + lbound);
}
	function getRandomChar(number, lower, upper, other, extra) {
	var numberChars = "0123456789";
	var lowerChars = "abcdefghijklmnopqrstuvwxyz";
	var upperChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var otherChars = "`~!@#$%^&*()-_=+[{]}\\|;:'\",<.>/? ";
	var charSet = extra;
	if (number == true)
	charSet += numberChars;
	if (lower == true)
	charSet += lowerChars;
	if (upper == true)
	charSet += upperChars;
	if (other == true)
	charSet += otherChars;
	return charSet.charAt(getRandomNum(0, charSet.length));
}

function generatePassword(length) {
	var rc = "";
	if (length > 0)
	rc = rc + getRandomChar(true, true, true, false, "");
	for (var idx = 1; idx < length; ++idx) 
	{
		rc = rc + getRandomChar(true, true, true, false, "");
	}
	return rc.replace('l','L').replace('I','i');
}

function generatePasswordTo(objID)
{
	document.getElementById(objID).value = generatePassword(8);
}

function checkAll(){
 
 var checker = document.getElementById("check_all").checked;
 
 var len     = document.generateInvoiceForm.length;
 
 for (i=0; i<len;i++){

  if(document.generateInvoiceForm[i].type == "checkbox" && document.generateInvoiceForm[i].id != "check_all" && document.generateInvoiceForm[i].id != "SveaInvoice"){
   
   if(checker == true){
   	
    document.generateInvoiceForm[i].checked = true;
    
   } 
   
   if(checker == false){
   	
    document.generateInvoiceForm[i].checked = false;
    
   }
  } 
 }
}

function countChars(elem, maxlen){
 
 var len    = elem.value.length;
 
 var msg    = elem.value;
 var n_left   = maxlen - len;
 
 if(n_left <= 0){
  msg = msg.substring(0, maxlen);
  elem.value = msg;
  document.getElementById("counter").focus();
  document.getElementById("counter").value = 0;
  document.getElementById("counter").style.color = "red";
 }
 else{
  document.getElementById("counter").value = n_left; 
  document.getElementById("counter").style.color = "#000";
 }
}


function preLoadDeals(){

 // create object
 imageObj = new Image();

 // set image list
 images = new Array();
 images[0]="../images/logos/2komma0-Bronspaket.gif"
 images[1]="../images/logos/2komma0-Silverpaket.gif"
 images[2]="../images/logos/2komma0-Guldpaket.gif"
 images[3]="../images/logos/2komma0-Intensivkurs.gif"


 // start preloading
 for(var i=0; i<images.length; i++) {
  imageObj.src=images[i];
 }
}

function countChars(elem, maxlen){
 
 var len    = elem.value.length;
 
 var msg    = elem.value;
 var n_left   = maxlen - len;
 
 if(n_left <= 0){
  msg = msg.substring(0, maxlen);
  elem.value = msg;
  document.getElementById("counter").focus();
  document.getElementById("counter").value = 0;
  document.getElementById("counter").style.color = "red";
 }
 else{
  document.getElementById("counter").value = n_left; 
  document.getElementById("counter").style.color = "#000";
 }
}

function showProductPicture(picture){
 var elem = document.getElementById("picureBox");
 elem.style.display = "block";
 var path = "<h4 style='margin:10px;'>"+picture+"</h4><img src='/images/picturearchive/"+ picture+"' alt='2,0' border='0' />";
 elem.innerHTML = path;
}

function withAllCheckboxes(formName, doAction){

 var check = (doAction == "check") ? true : false;
 
 var form = document.getElementById("searchResultForm");
 
 if(navigator.appName == "Netscape"){
  for (i=0;i<form.length;i++){
   if (form[i].type=="checkbox"){
    form[i].checked = check;
   }
  }  
 } 
 if(navigator.appName == "Microsoft Internet Explorer"){
  for (i=0;i<eval(formName).length;i++){
   if (eval(formName)[i].type=="checkbox"){
    eval(formName)[i].checked = check;
   }
  }  
 }  
}

//show msg if value is ""
function inputOnBlur(obj,msg){
	if(obj.value == ""){
		obj.value=msg;
	}
}

//hide msg if value is msg
function inputOnFocus(obj,msg){
	if(obj.value == msg){
		obj.value="";
	}
}

function changeProductType(elem, dest){
 var newURL = "?noSubmit=true&" + dest + "&typeID=" + elem.options[elem.selectedIndex].value;
 document.location=newURL;
}

function changeMockupPicture(num, imgSrc, radioButtonID){	 
 var img = "<img src='/images/picturearchive/"+ imgSrc + "' />";
	
 switch(num){
	case 1: 
	 var changeSpot = window.frames['mockFrame'].document.getElementById('logo');
	break;
	case 2:
	 var changeSpot = window.frames['mockFrame'].document.getElementById('specialProductImage');
	break;
	case 3:
	 var changeSpot = window.frames['mockFrame'].document.getElementById('startPageMainTop');
	break;
	case 4:
	 var changeSpot = window.frames['mockFrame'].document.getElementById('numberFour');
	break;
	case 5:
	 var changeSpot = window.frames['mockFrame'].document.getElementById('category0');
	break;	
	case 6:
	 var changeSpot = window.frames['mockFrame'].document.getElementById('category1');
	break;	
	case 7:
	 var changeSpot = window.frames['mockFrame'].document.getElementById('category2');
	break;	
	case 8:
	 var changeSpot = window.frames['mockFrame'].document.getElementById('category3');
	break;				
	case 9:
	 var changeSpot = window.frames['mockFrame'].document.getElementById('category4');
	break;	
	default:
	 alert("Can't change "+num+" ..yet");
	 return false;
 }
 
 document.getElementById(radioButtonID).checked ='true';
	 
 changeSpot.innerHTML = img;

}


var productStr;

function setProductStr(str){
 alert(str);
 productStr = str;
}

function setAdminBoxPrice(retailer, strProduct){
  
 var tmp = strProduct.split("[");
 var setDefault = false;
 var cutPosition = retailer == 0 ? 2 : 3;
 var offst = retailer == 0 ? 0 : 8;
 var VAT = strProduct.substr(-4, 2);

 if(tmp[2]){

  var tmp2 = tmp[cutPosition].split("kr");

  if(tmp2[0]){

    var price = tmp2[0].substr(offst);
    document.getElementById("newRowPrice").value=price; 
    document.getElementById("newRowQuantity").value=0;
    document.getElementById("newRowVATpercent").value=VAT;
  }else{
   setDefault = true;
  }
 }else{
  setDefault = true;    
 }

 if(setDefault){
  document.getElementById("newRowPrice").value=""; 
  document.getElementById("newRowQuantity").value="";
  document.getElementById("newRowVATpercent").value="";
 }
}

function confirmOrderCredit(){
  
 var statusBox = document.getElementById("statusValue");
 var statusValue = statusBox.options[statusBox.selectedIndex].value
 var strConf = "Varorna i ordern kommer att räknas tillbaka till lagret. Det går inte att ångra en borttagen order. ";
 strConf += "OBS. använd denna funktion ENDAST om ordern inte är kvitterad/fakturerad. Fortsätt?";
 
 var confirmed = true;
 
 if(statusValue == 5){
  var confirmed = confirm(strConf);
 }
/*
    var forms = document.getElementsByTagName('form');
    for (var i = 0; i < forms.length; i++) {
        var input = forms[i].getElementsByTagName('input');
        for (var y = 0; y < input.length; y++) {
            if (input[y].type == 'text') {
                input[y].disabled = 'disabled';
            }
        }

    } 
*/                 
 return confirmed;
 
}

function confirmOrderCreditNew(orderklar){ 
   
 var statusBox = document.getElementById("statusValue");
 var statusValue = statusBox.options[statusBox.selectedIndex].value
 var strConf = "Varorna i ordern kommer att räknas tillbaka till lagret. Det går inte att ångra en borttagen order. ";
 strConf += "OBS. använd denna funktion ENDAST om ordern inte är kvitterad/fakturerad. Fortsätt?";

 var check = false;
 var confirmed = false; // True är satt i den vanliga confirmOrderCredit()
                        // måste här gärna vara satt till false för att filtrering av tomma
                        // input boxar ska fungera "för nya manuella order"
 if(statusValue == 5){
  confirmed = confirm(strConf);
 }
/*
    var forms = document.getElementsByTagName('form');
    for (var i = 0; i < forms.length; i++) {
        var input = forms[i].getElementsByTagName('input');
        for (var y = 0; y < input.length; y++) {
            if (input[y].type == 'text') {
                input[y].disabled = 'disabled';
            }
        }

    }
*/
  
var addon = "";
 if(confirmed == true)
  {   
  addon = "&trashorder=true";
  }
//alert("filterinputBoxes(\""+addon+"\","+ orderklar+")");
  
var t= setTimeout("filterinputBoxes(\""+addon+"\","+ orderklar+")", 1500);
//t= setTimeout("loadSubmit2()", 1000);         

return false; 
}

function chkObject(inParent,theVal) {
if(inParent){
if (window.opener.document.getElementById(theVal) != null) {
return true;
} else {
return false;
}
}else{
if (document.getElementById(theVal) != null) {
return true;
} else {
return false;
}
}
}

function loadSubmit(orderklar) { 

if(chkObject(false, "searchResultForm"))
     document.getElementById('searchResultForm').style.display = 'none';
if(chkObject(false, "progressBar"))
    {
     document.getElementById('progressBar').style.display = 'block';
     document.getElementById('progressBar').innerHTML = '<img src="/images/icons/processing.gif" width="543" height ="49"/>';    
    }
if(chkObject(false, "status"))
    document.getElementById('status').style.display = 'none';
if(chkObject(false, "snabb"))
     {
     document.getElementById('snabb').style.background.color ='#F8F8F8';
     document.getElementById('snabbmeny').style.backgroundColor = '#F8F8F8';
     }

 confirmOrderCreditNew(orderklar);
return false;
}

function loadSubmitStandard(form, callback) { 

if(chkObject(false, form))
     document.getElementById(form).style.display = 'none';
if(chkObject(false, "progressBar"))
    {
     document.getElementById('progressBar').style.display = 'block';
     document.getElementById('progressBar').innerHTML = '<img src="/images/icons/processing.gif" width="543" height ="49"/>';    
    }
if(chkObject(false, "status"))
    document.getElementById('status').style.display = 'none';

 location.href = callback;
 
//   alert(s);
   return true;
    
}

function loadSubmit2() { 

 document.getElementById('searchResultForm').style.display = 'none';
 document.getElementById('progressBar').style.display = 'block';
 document.getElementById('status').style.display = 'none';
 document.getElementById('snabb').style.background.color ='#F8F8F8';
 document.getElementById('snabbmeny').style.backgroundColor = '#F8F8F8';
 document.getElementById('progressBar').innerHTML = '<img src="/images/icons/processing.gif" width="543" height ="49"/>';  

 return false;
}

function filterinputBoxes(addon, orderklar){    
   var form = document.getElementById("searchResultForm");
   if(orderklar)
        var klar = "&orderDone=Orderklarförlager!";
   else
        var klar = "&submit=Spara+%E4ndringar";

        
   var s = "order.php?" + create_request_string(form) + addon + klar + "&wid2=true"; 
   location.href = s;
   //alert(s);
   return false;
    
}

function clicknerupp(nummer)
{
if(nummer>0)
    {
    document.getElementById('pner').href = "#c"+ nummer; 
    document.getElementById('pupp').href = "#c"+ nummer; 
    
    }
    
}

function clickneruppdatera(uppner)
{    
if(uppner == "reset"){
    document.getElementById('pner').href = "#c1"; 
    document.getElementById('pupp').href = "#c1";   
return;     
}
    var form = document.getElementById("pner");

var tmp = form.href.split("#");
if(tmp[1])
    {
    var tmp2 = tmp[1].split("c");
    var nummer = tmp2[1];
    if(uppner == "ner")
      {    
          var nummer = parseInt(nummer) + 1;
      }    
    else
        {
         if(nummer>0)
            var nummer = parseInt(nummer) - 1;
         else
            var nummer = 1;
        }

if(nummer > 0)
  {    
    document.getElementById('pner').href = "#c"+ nummer; 
    document.getElementById('pupp').href = "#c"+ nummer; 
       
  }
  }   
}    


function create_request_string(theForm)
{
var reqStr = "";

for(i=0; i < theForm.elements.length; i++)
{

isFormObject = false;

switch (theForm.elements[i].tagName)
{
case "INPUT":

switch (theForm.elements[i].type)
{
case "text":
case "hidden":

if (theForm.elements[i].name == "newRowId[]")
{   
  if ((theForm.elements[i].name == "newRowId[]" && theForm.elements[i].value!="")    &&
     (theForm.elements[i+1].name == "newRowPrice[]" && theForm.elements[i+1].value!="") &&
     (theForm.elements[i+2].name == "newRowQuantity[]" && theForm.elements[i+2].value!="") &&
     (theForm.elements[i+3].name == "newRowVATpercent[]" && theForm.elements[i+3].value!="") )
      { 
      reqStr += theForm.elements[i].name + "=" + encodeURIComponent(theForm.elements[i++].value);
      reqStr += "&";
      reqStr += theForm.elements[i].name + "=" + encodeURIComponent(theForm.elements[i++].value);
      reqStr += "&";
      reqStr += theForm.elements[i].name + "=" + encodeURIComponent(theForm.elements[i++].value);
      reqStr += "&";
      reqStr += theForm.elements[i].name + "=" + encodeURIComponent(theForm.elements[i].value);
      reqStr += "&";      
      isFormObject = false;

      }
      else
      i=i+3;   
}
else
{
    reqStr += theForm.elements[i].name + "=" + encodeURIComponent(theForm.elements[i].value);
    isFormObject = true;
}
break;

}
}

switch (theForm.elements[i].tagName)
{
case "INPUT":

switch (theForm.elements[i].type)
{
case "checkbox":
    if (theForm.elements[i].checked)
    {
    reqStr += theForm.elements[i].name + "=" + theForm.elements[i].value;
    isFormObject = true;
    }else
    {
    if(theForm.elements[i].name != "deleteProductID[]")
     {   
        reqStr += theForm.elements[i].name + "=";
        isFormObject = true;
     }
    }
break;

case "radio":
if (theForm.elements[i].checked)
{
reqStr += theForm.elements[i].name + "=" + theForm.elements[i].value;
isFormObject = true;
}

}
break;

case "TEXTAREA":

//reqStr += theForm.elements[i].name + "=" + encodeURIComponent(theForm.elements[i].value);
reqStr += theForm.elements[i].name + "=" + theForm.elements[i].value;
isFormObject = true;
break;

case "SELECT":
var sel = theForm.elements[i];
reqStr += sel.name + "=" + sel.options[sel.selectedIndex].value;
isFormObject = true;

break;

}

if ((isFormObject) && ((i+1)!= theForm.elements.length))
{
reqStr += "&";
}

}

return reqStr;
}

function checkStockCoverageNew(elem, elem2, vara, _inStock){
    var selectBox = document.getElementById(elem);
    var userWants = elem2.value;
    var product = vara;
    var inStock = parseInt(_inStock);

    userWants = parseInt(userWants);
    if(userWants==0)
       {
           alert("Antal kan inte vara 0");
           elem2.value = "";
           return false;
       }
     if(isNaN(userWants) && elem2.value != "")
       {
           alert("Antal är inte ett nummer");
           elem2.value = "";
           return false;
       } 
               
  if(userWants > inStock){
      if(inStock == 0){
          var message = "Vi har slut på " + product;
          alert(message); 
          elem2.value = "";
          return false;
      }else{
          var message = "Vi har bara " + inStock + "st " + product + " i lager!";
      }
      alert(message);
      elem2.value=inStock;
  }
  
    return false;
}

function barakollapriset(elem3)
{
 var pris = elem3.value;   
     if(isNaN(pris) && elem3.value != "")
       {
           alert("Försäljningspris är inte ett nummer");
           elem3.value = "";
       }     
return false;           
}

function snabbval(name, selected)
{  
var tmp = location.href.split("#");
if(tmp[1])
    {    
    location.href = tmp[0]+ "#"+ name+ selected;
    }
else
   { 
   location.href = location.href+ "#"+ name+ selected;
   }

document.getElementById('pner').href = "#c"+ selected; 
document.getElementById('pupp').href = "#c"+ selected; 

    
return false;    
}

function checkStockCoverage(elem, elem2){
	var selectBox = document.getElementById(elem);
	var userWants = elem2.value;
	var productStr = selectBox.options[selectBox.selectedIndex].text;
	var product = productStr.split("[");

	var product = product[0];

	var tmp = productStr.split("[");
	
	if(tmp[1]){
		var tmp2 = tmp[1].split("st");
		var inStock = tmp2[0];
	}
	
	userWants = parseInt(userWants);
	
	inStock = parseInt(inStock);
	
  if(userWants > inStock){
  	if(inStock == 0){
  		var message = "Vi har slut på " + product;
  	}else{
  		var message = "Vi har bara " + inStock + "st " + product + " i lager!";
  	}
  	alert(message);
  	elem2.value=inStock;
  }
  
	return false;
}

// Toggle between hide and show elements on page 
function toggleview(element1) {  
  
   element1 = document.getElementById(element1);  
  
   if (element1.style.display == 'block' || element1.style.display == '')  
      element1.style.display = 'none';  
   else  
      element1.style.display = 'block';  
  
   return;  
}  

function setspecific_radiobtnnej(arrindx)
{      
var change = new String();
var index=0;
change = document.getElementById("aKreditgodkend["+ arrindx + "]").value;
change = change.substr(0, index) + 'n' + change.substr(index + 1);
index++;
change = change.substr(0, index) + 'o' + change.substr(index + 1);
document.getElementById("aKreditgodkend["+ arrindx + "]").value = change;
document.getElementById("arrOrderID["+ arrindx + "]").disabled=true;
document.getElementById("arrOrderID["+ arrindx + "]").checked = "";
}

function setspecific_radiobtnja(arrindx)
{      
var change = new String();
var index=0; 
change = document.getElementById("Kreditgodkend["+ arrindx + "]").value;
change = change.substr(0, index) + 'j' + change.substr(index + 1);
index++;
change = change.substr(0, index) + 'a' + change.substr(index + 1);
document.getElementById("Kreditgodkend["+ arrindx + "]").value = change;
document.getElementById("arrOrderID["+ arrindx + "]").disabled=false;
}

function printfysicalgiftcard(arrindx, orderid)
{ 
document.getElementById("pg["+ arrindx + "]").disabled=true; 
window.open("printfysicalgiftcard.php?i="+orderid);
}

function withAllCheckboxesExecptCreditGoodorNot(formName, doAction){

 var check = (doAction == "check") ? true : false;
 
 var form = document.getElementById("searchResultForm");
 
 if(navigator.appName == "Netscape"){
  for (i=0;i<form.length;i++){
   if (form[i].type=="checkbox"){
       {
           if(form[i-1].checked == false)
                form[i].checked = check;
   
       }
   }
  }  
 } 
 if(navigator.appName == "Microsoft Internet Explorer"){
  for (i=0;i<eval(formName).length;i++){
   if (eval(formName)[i].type=="checkbox"){
    {
       // formName)[i-1]  , aKreditgodkend 
       // formName)[i-2] ,  Kreditgodkend
       if(eval(formName)[i-1].checked == false)
            eval(formName)[i].checked = check;
    }
    }
    
  }  
 }  
}

