var userAgent = navigator.userAgent.toLowerCase(); 
var browsermac = userAgent.indexOf('mac') != -1;
var browserwin = !browsermac;
var browserw3c = document.getElementById;
var browseriex = document.all;
var browserns4 = document.layers;

var bolDisableHiLight = false

function fncMessage(strMessage,strHref) {
   var strMessage, strHref
   alert(strMessage);
   if (strHref) {
      document.location = strHref;
   }
   else {
      history.go(-1);
   }
}

function fncConfirm(strMessage,strTarget) {
   if(confirm(strMessage)) {
      document.location = strTarget;
   }
   else {
      return;
   }
}

function fncSelectCustomer(strCustomerID,strTarget) {
   if (strCustomerID.length > 0) {
      document.location = "changeCustomer.asp?customerID=" + strCustomerID + "&target=" + strTarget;
   }
}

function fncSelectUser(strUserID,strTarget) {
   if (strUserID.length > 1) {
      document.location = "changeUser.asp?userID=" + strUserID + "&target=" + strTarget;
   }
}

function fncMessageAlert(strMessage,intHistoryGo) {
   alert(strMessage);
   history.go(intHistoryGo)
}

function copyInfo(fromFld,toFld) {
   document.forms[0].elements[toFld].value = document.forms[0].elements[fromFld].value;
}

function openWindow(pageName,windowName,enableResize,windowWidth,windowHeight) {
   windowObj = window.open(pageName,windowName,"resizable=" + enableResize + ",width="+ windowWidth +",height="+ windowHeight + ",left=" + ((screen.availWidth-windowWidth)/2) + ",top=" + ((screen.availHeight-windowHeight)/2) );
   windowObj.self.focus();
}

function sendForm(targetName) {
   openWindow('submitForm.asp',targetName,'yes',270,115)
}






function fncValidateForm(formNr,checkThese,formAction,formTarget) {
	var err = 0;
	var msg;
	var theArray = new Array();
	var theString = checkThese;
	var formTarget;
	var markColor = "#719BDB"


	
	if(checkThese) {		
		theArray = theString.split(",");
		for (i = 0; i < theArray.length; i++) {
			if(theArray[i]!="") {
				if (document.forms[formNr].elements[theArray[i]].value.length < 1 && document.forms[formNr].elements[theArray[i]].type != 'hidden') {								
					with (document.forms[formNr].elements[theArray[i]].style) {
						backgroundColor = markColor;
						borderWidth = 1;
						borderStyle = "solid";
						borderColor = "#333333";
					}
					err++ 
				}
			}
		}

		
		
		if (err > 0) {
			if (err == 1) {
				msg = "Det markerade fältet måste fyllas i!\nPlease fill out the marked field!";
			} else {
				msg = "De markerade fälten måste fyllas i!\nPlease fill out the marked fields!";
			}
			alert(msg);
			return false;
		}
	}
	

	
	document.forms[formNr].method = "post";
	if(formTarget) document.forms[formNr].action = formTarget;
	if(formAction!="" & document.forms[formNr].elements["action"]!=undefined) document.forms[formNr].elements["action"].value = formAction;
	
	
	
	if(document.forms[formNr].fldProductExtraDebit) {
		var frmExtraDebit = document.getElementById("frmProductExtraDebit").contentWindow.document;
		frmExtraDebit.forms[0].elements["action"].value = "post";
		frmExtraDebit.forms[0].submit();
	} else if(document.forms[formNr].fldProductExtraFields) {
		var frmExtraField = document.getElementById("frmProductExtraFields").contentWindow.document;
		frmExtraField.forms[0].elements["action"].value = "post";
		frmExtraField.forms[0].submit();
	} else {
		document.forms[formNr].submit();
	}
	return true;
}


function logout(strSysName) {
   if(confirm("Detta loggar ut dig från "+strSysName)) {
      top.location = "logout.asp";
   }
}

function fncClearStyle(formObj){
   with (formObj.style) {
      backgroundColor = "#ffffff"
      borderWidth = 1
      borderStyle = "solid"
	  borderColor = "#7F9DB9"
   }

}

function fncImageUpload(strPath,strImageName) {
   openWindow("imageUpload.asp?path="+strPath+"&imageName="+strImageName,"imgageUpload","no,status",515,294)
}

function fncLogoUpload(strPath,strFieldName) {
   openWindow("logoUpload.asp?path="+strPath+"&field="+strFieldName,"logoUpload","no,status",515,294)
}


function fncOpenHelp(strChapter) {
	var windowWidth = 430
	var windowHeight  = 600
	var windowObj = window.open("help.asp?c="+strChapter,"winHelp","resizable=yes,status,width=" + windowWidth + ",height=" + windowHeight + ",left=" + (screen.availWidth -windowWidth -13) + ",top=1");
   windowObj.self.focus();
}


function fncTweekStupidIEBug() {
   var objDate = new Date();
   var intTmp01 = objDate.getMilliseconds();
   //window.resizeTo(screen.availWidth,(screen.availHeight +intTmp01))
}

function fncFormCopy(flDFrom,fldTo) {
   document.forms[0].elements[fldTo].value = document.forms[0].elements[flDFrom].value;
}

function fncDeletePost(strMsg,ID) {
   if(confirm(strMsg)) {
      document.forms[0].elements["action"].value = "delete";
      document.forms[0].elements["ID"].value = ID;
      document.forms[0].submit();
   }
}

function fncProfileShow(strID,strType) {
   if(strID.length>0) {
      openWindow("profile_showDetails.asp?ID="+strID+"&type="+strType,"profileDetails","yes,scrollbars",370,450)
   }
}

function fncOpenMultipleProof(strProductID) {
	openWindow("product_multipleProofFrame.asp?id="+strProductID,"winMultipleProofs","no,status",550,450)
}


function fncGetObj(name) {
	if(browserw3c){
		return document.getElementById(name);
	}else if(browseriex){
		return document.all[name];
	}else if(browserns4){
		return this.getObjNS4(document,name);
	}
}


function fncGetObjNS4(obj, name) {
	var d = obj.layers;
	var result,temp;
	for(var i=0; i<d.length; i++){
		if(d[i].id == name){
		 	result = d[i];
		}else if(d[i].layers.length){
			var temp = getObjNS4(d[i],name);
		}
		if(temp){
			result = temp;
		}
	}
	return result;
}




function fncSetThisFold(intFold) {
   for (i = 0; i < 20; i++) {
      if(fncGetObj("tblFoldNr_"+i)) fncGetObj("tblFoldNr_"+i).className = "tableTopFoldInactive";
	  if(fncGetObj("divFoldNr_"+i)) fncGetObj("divFoldNr_"+i).style.display = "none"; 
   }
   if(document.forms[0].activeFold) document.forms[0].activeFold.value = intFold;
   if(fncGetObj("tblFoldNr_"+intFold)) fncGetObj("tblFoldNr_"+intFold).className = "tableTopFoldActive";
   if(fncGetObj("divFoldNr_"+intFold)) fncGetObj("divFoldNr_"+intFold).style.display = "block";
}

function fncSetThisFoldPage(intFold,strTarget) {
   for (i = 0; i < 20; i++) {
      if(fncGetObj("tblFoldNr_"+i)) fncGetObj("tblFoldNr_"+i).className = "tablePageFoldInactive";
   }
   if(fncGetObj("tblFoldNr_"+intFold)) fncGetObj("tblFoldNr_"+intFold).className = "tablePageFoldActive";
   if(strTarget)
   	if(strTarget.indexOf("filearchive")>-1) {
		//if(parent.frmContent.frmPage) parent.frmContent.frmPage.location = "../file/?t=fileArchive&rnd=" + Math.random() + "&a=browse";
		//else
		fncFormDocument('browse','','','','');
	} else {
	  		parent.frmContent.location = strTarget;
		}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function getElement(item) {
   return document.getElementById(item);
}

function fncToChr(c) {
   var s = 0
   if(c < 95) s = c +32
   else s = c +66
   if(c == 0) s = 174
   
   switch(s) {
      case 161 :
	     s = 176
		 break
      case 164 :
	     s = 167
		 break 
	  case 165 :
	     s = 149
		 break 
	  case 166 :
	     s = 182
		 break
	  case 167 :
	     s = 223
		 break
		 
      // ¨ -> ®	 
	  case 168 :
	     s = 174
		 break
      // 
	  
	  case 170 :
	     s = 153
		 break
	  case 171 :
	     s = 180
		 break
	  case 172 :
	     s = 168
		 break
	  case 174 :
	     s = 198
		 break
   }
   if(s==34) return("&quot;")
   if(s==149) return("•")
   
   
   
   else return(String.fromCharCode(s))
}

function fncCalcBarCode(s) {
   var chSum = 105
   var intCnt = 1
   var output = String.fromCharCode(180)
   for(i = 0; i < s.length; i++) {
      c = parseFloat(s.substring(i,(i +2)))
	  if(i==(s.length -1)) {
	     output = output + "¶"
		 chSum = chSum +(intCnt*100)
	     output = output + c
		 intCnt++
		 chSum = chSum +(intCnt*(c+16))
      } else {
	     output = output + fncToChr(c)
		 chSum = chSum +(intCnt*c)
	  }
	  i++
	  intCnt++
   }
   chSum = chSum -(parseInt(chSum/103) *103)
   output = output +fncToChr(chSum)
   output = output +String.fromCharCode(168)
   
   return(output)
}


function fncDisableChildFields(strChb,strFields) {
   arrFields = strFields.split(",");
   chbObj = document.forms[0].elements[strChb]
   if(chbObj) {
      if(chbObj.checked) {
         for (i = 0; i < arrFields.length; i++) {
		 	if(arrFields[i].substr(0,1)=="!") document.forms[0].elements[arrFields[i].substr(1)].disabled = true;
			else fncSetFormFieldsDisabled(false,arrFields[i])
			//else document.forms[0].elements[arrFields[i]].disabled = false;
         }
      } else {
         for (i = 0; i < arrFields.length; i++) {
		 	if(arrFields[i].substr(0,1)=="!") document.forms[0].elements[arrFields[i].substr(1)].disabled = false;
			else fncSetFormFieldsDisabled(true,arrFields[i])
			//else document.forms[0].elements[arrFields[i]].disabled = true;
         }  
      }
   }
}


function fncSetFormFieldsDisabled(status,fieldname) {
	var f = document.forms[0]
	
	for(var i=0;i<f.elements.length;i++){
		if(f.elements[i].name==fieldname) f.elements[i].disabled = status;
	}
	
}

function fncValidate(strCheck,intForm,strStyle) {
   var err = 0
   if(!strStyle) strStyle = ""
   if(strCheck) {
      arrCheck = strCheck.split(",");
      for (i = 0; i < arrCheck.length; i++) {
         if (document.forms[intForm].elements[arrCheck[i]].value.length < 1) {
		    err++
			document.forms[intForm].elements[arrCheck[i]].className = "frmField" + strStyle + "Active"
			objMark = document.forms[intForm].elements[arrCheck[i]]
         } 
      }
      if (err > 0) {
         if (err == 1) msg = "Det markerade fältet måste fyllas i!\nPlease fill out the marked field!"
         else msg = "De markerade fälten måste fyllas i!\nPlease fill out the marked fields!"
         alert(msg);
		 objMark.focus();
      }
   }
   document.forms[intForm].submit();
   
}

function fncClearFormStyle(formObj,strStyle) {
   if(!strStyle) strStyle = ""
   if(formObj.className == "frmField" + strStyle + "Active") formObj.className = "frmField" + strStyle
}


function fncHiLightRow(obj,state,bg) {
	if(!bolDisableHiLight) {
	if(state=="on") {
		obj.className = "bgColor3";
	} else {
		obj.className = "bgColor" + bg;
	}
	}
}

function fncAction(strAction,intID) {
	bolDisableHiLight = true
   switch(strAction) {
      case "delete" :
	     if(confirm(strUserLang=="en" ? "Do you want to remove this object?" : "Vill du ta bort objektet?")) {document.location = strThisPageName + "?a=delete&id=" + intID } else { bolDisableHiLight = false }
		 break
      default :
	     document.location = strThisPageName + "?a=" + strAction + "&id=" + intID
   }
}

function fncLoginUser(strUserName,strPwd) {
   objWindow = window.open('', 'userLogin', 'toolbar,menubar,scrollbars,resizable,status,location,width=1000,height=600,')
   objWindow.self.focus();
   document.forms[1].elements['user'].value = strUserName;
   document.forms[1].elements['key'].value = strPwd;
   document.forms[1].elements['action'].value = 'loginFromAdmin';
   document.forms[1].submit();
}

function fncGetProductPrice(strPrices,intQuantity) {
	var strPrices = strPrices + "|";
	if(strPrices.length < 2) return 0
	var intPricePerUnit = 0
	if(strPrices.indexOf("|")!=-1) {
		var arrTmp10 = strPrices.split("|")
		for (i = 0; i < arrTmp10.length; i++) {
			if(arrTmp10[i].length > 0) {
				arrTmp11 = arrTmp10[i].split("-")
				if(parseInt(arrTmp11[0]) <= parseInt(intQuantity)) {
					intPricePerUnit = parseFloat(arrTmp11[1].replace(",","."))
					
				}
			}
		}
		if(intPricePerUnit > 0) {
			return (intQuantity *intPricePerUnit)
		} else {
			return 0
		}
	} 
	return 0
}

function fncRound(intNumber,intDec) {
	return intNumber
	strNumber = new String(intNumber)
	if(!strNumber.indexOf(".")) return strNumber
	strNumber = strNumber.replace(",",".")
	x = strNumber.indexOf(".")
	strDecPrt = strNumber.substr(x+1)
	strIntPrt = strNumber.substr(0,x)
	if(intDec) {
		if(strDecPrt.length>intDec) {
			strDecPrt = strDecPrt.substr(0,intDec-1) + Math.round(strDecPrt.substr(intDec-1,1) + "." + strDecPrt.substr(intDec,1))
		}
		return strIntPrt + "." + strDecPrt
	} else {
		return strIntPrt
	}
}

function fncFormatNumber(strType,intNumber) {
	strNumber = new String(intNumber)
	if(strType=="in") {
		return strNumber.replace(",",".")
	}
	if(strType=="out") {
		return strNumber.replace(".",",")
	}
}

function fncDocumentGo(strURL,strTarget) {



parent.frames[strTarget].location = strURL

}

function fncMenuItem(objDiv,objImg)
{
  if (navigator.appName == 'Microsoft Internet Explorer')
  {			
    if (objDiv.style.display == "block")
	{
	  objDiv.style.display = "none";
	  document.images[objImg].src = "images/menu_icon_exp.gif";
    }
    else
    {
	  objDiv.style.display = "block";
	  document.images[objImg].src = "images/menu_icon_col.gif";
    }
  }
  else return;
}

function fncToggleDisplay(strLayer,strImage,bolForceClose) {
	var objLayer = fncGetObj(strLayer)
	if(strImage) var objImage = fncGetObj(strImage)
	
	if(objLayer) {
		if(objLayer.style.display=="block"|bolForceClose) {
			objLayer.style.display = "none"
			if(strImage) objImage.src = "images/menu_icon_exp.gif"
		} else {
			objLayer.style.display = "block"
			if(strImage) objImage.src = "images/menu_icon_col.gif"
		}
	}
}

function fncAccPost_MakeField(strFieldName,strFieldContent) {
	var objForm = document.forms[0]
	var intFieldCnt = objForm.VARN.value
	document.writeln('<input name="VARCNT' + intFieldCnt + '" type="hidden" value="' + strFieldContent + '">')
	document.writeln('<input name="VARTTL' + intFieldCnt + '" type="hidden" value="' + strFieldName + '">')
	intFieldCnt++
	objForm.VARN.value = intFieldCnt
}

function fncAccPost(strField) {
	var objForm = document.forms[0]
	for(var i = 0;i < objForm.elements.length;i++) {
		if(objForm.elements[i].value == strField) {
			return(objForm.elements[i-1]);
		}
	}
}

function fncAccPost_Versaler(fields) {
	var oForm = document.forms[0];
	var aFields = fields.split(",");
	for(var i = 0;i < aFields.length;i++) {
		var fld = fncAccPost(aFields[i]);
		if(fld) {
			fld.value = fld.value.toUpperCase();
		}
	}
}

function fncAccPost_Duplicera(curr,dest) {
	var oForm = document.forms[0];
	if(fncAccPost(curr)) fncAccPost_MakeField(dest,fncAccPost(curr).value);
}

function fncFlashBasket() {
	if(fncGetObj("layBasket")) {
		var intrvl = 1000
		for (i = 0; i < 4; i++) {
			intrvl += 100;
			setTimeout("fncGetObj('layBasket').style.backgroundColor=strBasketFlashColor1;", intrvl)
			intrvl += 200;
			setTimeout("fncGetObj('layBasket').style.backgroundColor=strBasketFlashColor2;", intrvl)
			if(i==1) intrvl += 1000;
		}
	}
}


function fncImageArchive(strAction,strField,strFolder,strPath,strName) {
	var objField = document.forms[0].elements[strField]
	var objDivField = fncGetObj("div" + strField)
	switch(strAction) {
		case "delete" :
			objDivField.style.backgroundImage = "url(images/spacer.gif)"
			objField.value = ""
			break;
		case "set" :
			objDivField.style.backgroundImage = "url(image_archive_image.asp?s=th&f=" + strFolder + "&n=" + strName + ")"
			objField.value = strPath + strName
			break;
		case "open" :
			if(strName == "" & objField.value != "") {
				strName = objField.value.substr(objField.value.lastIndexOf("/") +1)
			}
			openWindow("image_archive.asp?fi=" + strField + "&f=" + strFolder + "&p=" + strPath + "&n=" + strName,"winImageArchive","yes,status,scrollbars",500,500)
			break;
	}
}


function fncFormDocument(strAction,strField,strFolder,strFile,strSyncPath) {
	var objField = undefined;
	if(document.forms[0]) {
		if(document.forms[0].elements[strField]) var objField = document.forms[0].elements[strField];
	}
	var objDivField = fncGetObj("div" + strField);
	var objDivFieldText = fncGetObj("div" + strField + "text");
	strFileUrl = encodeURI("/file/?t=fileArchive&fi=" + strField + "&f=" + strFolder + "&n=" + strFile + "&s=" + strSyncPath + "&rnd=" + Math.random() + "&a=")
	if(strField=="productPreview") strFileUrl = strFileUrl.replace("fileArchive","productPreviewImage")
	
	
	strFolder = strFolder.replace("\/","\\");
	
	switch(strAction) {
		case "remove" :
			if(strField.indexOf("productProof|")==-1&objField) {
				objDivField.style.backgroundImage = "url('" + strFileUrl + "del')"
				if(strField!="productPreview") objField.value = ""
				objDivFieldText.innerHTML = ""
				document.forms[0].elements["btn" + strField].disabled = true
				if(strField!="productPreview") document.forms[0].elements["btn" + strField + "C"].disabled = true
			}
			break;
			
		case "clear" :
			objDivField.style.backgroundImage = "url('/images/spacer.gif')"
			if(strField!="productPreview") objField.value = ""
			objDivFieldText.innerHTML = ""
			document.forms[0].elements["btn" + strField].disabled = true
			document.forms[0].elements["btn" + strField + "C"].disabled = true
			break;
			
		case "set" :
			if(strFile!="") {
				if(strField.indexOf("productProof|") > -1) {
					var arrTmp = strField.split("|")
					document.location = "../user/product.asp?a=setproductproof&f=" + strFile + "&id=" + document.forms[arrTmp[1]].fldProductID.value + "&productGroupID=" + document.forms[arrTmp[1]].fldProductCategoryID.value
				} else if(strField.indexOf("extrafield_") > -1) {
					var arrTmp = strField.split("|")
					fncGetObj(arrTmp[0] + "_span").innerHTML = strFile;
					document.forms[arrTmp[1]].elements[arrTmp[0]].value = strFolder + "\\" + strFile;
				} else {
					objDivField.style.backgroundImage = "url('" + strFileUrl + "view')"
					if(strField!="productPreview") objField.value = strFile
					if(strField.indexOf("fldProfilePersonalField_") > -1 | strField.indexOf("fldProfileField_") > -1) objField.value = strSyncPath + strFile
					if(strField!="productPreview") objDivFieldText.innerHTML = strFile
					document.forms[0].elements["btn" + strField].disabled = false
					if(strField!="productPreview") document.forms[0].elements["btn" + strField + "C"].disabled = false
				}
			}
			break;
		case "upload" :
			openWindow(strFileUrl + "upload","winFileArchiveUpload","yes,status,scrollbars",520,300)
			break;
		case "browse" :
			openWindow(strFileUrl + "browse","winFileArchiveBrowse","yes,status,scrollbars",600,400)
			break;
	}
}

function fncSort() {
	a = fncSort.arguments;
	objFrm = document.forms[0];
	objFrm.fldSortID1.value = a[0];
	objFrm.fldSortID2.value = a[2];
	objFrm.fldSortValue1.value = a[1];
	objFrm.fldSortValue2.value = a[3];
	objFrm.submit();
}

function fncResizeParentFrame(strParentFrame,strPageDiv) {
	var objPageDiv = fncGetObj(strPageDiv)
	if(!parent) return;
	var objFrame = parent.fncGetObj(strParentFrame);
	if(!objFrame) return;
	
	if(objPageDiv.offsetHeight > 0) {
		objFrame.style.height = objPageDiv.offsetHeight;
		if(strThisPageName != "product_profile.asp" & strThisPageName != "order_current_upload.asp" & strThisPageName != "customer_mail.asp") {
			//if(parent.fncGetActiveButtonPos() == "bottom") parent.fncGetObj('divProfileTest').style.top = fncFindPosY(parent.fncGetObj('divProfileTestButton_bottom')) -parent.fncGetObj('divProfileTest').offsetHeight +parent.fncGetObj('divProfileTestButton_bottom').offsetHeight +4;
			}
	}
	else {
		var objTimer = setTimeout("fncResizeParentFrame('" + strParentFrame + "','" + strPageDiv + "')", 100);
	}
}



function fncProfileDataGrid(strAction,intID,intFieldsCnt,strQuerystring) {
	var strValues = "";
	for (var i = 0; i <= intFieldsCnt; i++) {
		strValues += document.forms[0].elements["fldProfileDataGrid" + intID + "Input" + i].value;
		if(i<intFieldsCnt) strValues += ";";
		document.forms[0].elements["fldProfileDataGrid" + intID + "Input" + i].value = "";
	}
	document.frames["frmProfileDataGrid" + intID].location.href='profile_datagrid.asp?add=' + strValues + '&' + strQuerystring;
}

	function fncFormAddTagToSelection(strTag,strField) {
		document.forms[0].elements[strField].focus();
		theSelection = document.selection.createRange().text;
		if (theSelection) {
			document.selection.createRange().text = "[" + strTag + "]" + theSelection + "[/" + strTag + "]";
		} else {
			alert("Markera den text du vill fetstila")
		}
	}
	
	function fncFindPosX(obj)
	{
		var curleft = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curleft += obj.offsetLeft
				obj = obj.offsetParent;
			}
		}
		else if (obj.x)
			curleft += obj.x;
		return curleft;
	}
	
	function fncFindPosY(obj)
	{
		var curtop = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curtop += obj.offsetTop
				obj = obj.offsetParent;
			}
		}
		else if (obj.y)
			curtop += obj.y;
		return curtop;
	}

function fncCookieSet(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function fncCookieGet(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function fncCookieDelete(name) {
	fncCookieSet(name,"",-1);
}

function fncMessageHandler(a,i,m) {
	var txtobj = fncGetObj("message_text");
	var divobj = fncGetObj("message_overlay");
	var html = "";
	var objImg = new Image()
	
	switch(i) {
		case "loading" :
			objImg.src = "/images/icon_loading.gif";
			html += "<img src='/images/icon_loading.gif' width='32' height='32' alt='' border='0'>"
			break;
		case "warning" :
			html += "<img src='/images/icon_warning.gif' width='32' height='32' alt='' border='0'>"
			break;
	}
	if(m!="" & m!=undefined) html += m
	if(html!="") txtobj.innerHTML = html;
	
	switch(a) {
		case "display" :
			divobj.style.visibility = "visible";
			break;
		case "hide" :
			divobj.style.visibility = "hidden";
			break;
	}
	
}

function fncCountCharLeft(obj,max,suffix) {
	var span = fncGetObj("chr_" + obj.name);
	if(span) {
		if(obj.value.length>0) {
			if(obj.name == "fldOrderTag" & obj.value.length > 250) obj.value = obj.value.substr(0,250);
			span.innerHTML = "(" + (max -obj.value.length) + " " + suffix
			if(obj.name == "fldOrderTag" & obj.value.length > 25) span.innerHTML += ", endast de 25 första tecknen kommer med på faktura/följesedel"
			span.innerHTML += ")";
		} else {
			span.innerHTML = "";
		}
	}
}

function fncCancel() {
	if(fncCancel.arguments.length==0 & strThisPageName!=undefined) {
		document.location = strThisPageName;
	} else {
		history.back();
	}
}

function fncValidatePassword(pwd) {
	if(validatePassword(pwd,{
		length:   [6, 12],
		lower:    1,
		upper:    1,
		numeric:  1}))
	{
		return true;
	} else {
		alert("Fyll i ett gilltigt lösenord\n*Ska vara minst 6 tecken och max 12 tecken långt\n*Måste innehålla minst en versal, en gemen och en siffra\n-------------------------------------------------------\nPlease enter a valid password!\n*Must be at least 6 characters and no more than 12 characters\n*Must include at least one upper case letter, one lower case letter, and one numeric digit.")
		return false;
	}
}

function validatePassword (pw, options) {
	var o = {
		lower:    0,
		upper:    0,
		alpha:    0,
		numeric:  0,
		special:  0,
		length:   [0, Infinity],
		custom:   [],
		badWords: [],
		badSequenceLength: 0,
		noQwertySequences: false,
		noSequential:      false
	};

	for (var property in options)
		o[property] = options[property];

	var	re = {
			lower:   /[a-z]/g,
			upper:   /[A-Z]/g,
			alpha:   /[A-Z]/gi,
			numeric: /[0-9]/g,
			special: /[\W_]/g
		},
		rule, i;

	if (pw.length < o.length[0] || pw.length > o.length[1])
		return false;

	for (rule in re) {
		if ((pw.match(re[rule]) || []).length < o[rule])
			return false;
	}

	for (i = 0; i < o.badWords.length; i++) {
		if (pw.toLowerCase().indexOf(o.badWords[i].toLowerCase()) > -1)
			return false;
	}

	if (o.noSequential && /([\S\s])\1/.test(pw))
		return false;

	if (o.badSequenceLength) {
		var	lower   = "abcdefghijklmnopqrstuvwxyz",
			upper   = lower.toUpperCase(),
			numbers = "0123456789",
			qwerty  = "qwertyuiopasdfghjklzxcvbnm",
			start   = o.badSequenceLength - 1,
			seq     = "_" + pw.slice(0, start);
		for (i = start; i < pw.length; i++) {
			seq = seq.slice(1) + pw.charAt(i);
			if (
				lower.indexOf(seq)   > -1 ||
				upper.indexOf(seq)   > -1 ||
				numbers.indexOf(seq) > -1 ||
				(o.noQwertySequences && qwerty.indexOf(seq) > -1)
			) {
				return false;
			}
		}
	}

	for (i = 0; i < o.custom.length; i++) {
		rule = o.custom[i];
		if (rule instanceof RegExp) {
			if (!rule.test(pw))
				return false;
		} else if (rule instanceof Function) {
			if (!rule(pw))
				return false;
		}
	}

	return true;
}
	
