var paying = "";
//NAVIGATION SCRIPT//
// Automatically attach a listener to the window onload, to convert the trees
//addEvent(window,"load",convertTrees);
// Utility function to add an event listener
function addEvent(o,e,f){
if (o.addEventListener){
o.addEventListener(e,f,true); return true;
} else if (o.attachEvent){
return o.attachEvent("on"+e,f);
} else {
return false;
}
}
// utility function to set a global variable if it is not already set
function setDefault(name,val) {
if (typeof(window[name])=="undefined" || window[name]==null) {
window[name]=val;
}
}
// Full expands a tree with a given ID
function expandTree(treeId) {
var ul = document.getElementById(treeId);
if (ul == null) { return false; }
expandCollapseList(ul,nodeOpenClass);
}
// Fully collapses a tree with a given ID
function collapseTree(treeId) {
var ul = document.getElementById(treeId);
if (ul == null) { return false; }
expandCollapseList(ul,nodeClosedClass);
}
// Expands enough nodes to expose an LI with a given ID
function expandToItem(treeId,itemId) {
var ul = document.getElementById(treeId);
if (ul == null) { return false; }
var ret = expandCollapseList(ul,nodeOpenClass,itemId);
if (ret) {
var o = document.getElementById(itemId);
if (o.scrollIntoView) {
o.scrollIntoView(false);
}
}
}
// Performs 3 functions:
// a) Expand all nodes
// b) Collapse all nodes
// c) Expand all nodes to reach a certain ID
function expandCollapseList(ul,cName,itemId) {
if (!ul.childNodes || ul.childNodes.length==0) { return false; }
// Iterate LIs
for (var itemi=0;itemi
Fel:
För att du skall kunna söka måste du fylla i minst 3 tecken.
');
return false;
}else{
return true;
}
}
function openwinsearch(what){
window.open(what,"","toolbar=no,resizable=yes,scrollbars=no,scrolling=yes,location=no,status=no,width=650,height=250");
}
function lastcontrolpnr(ipnr) { // returnerar kontrollsiffran för ett personnummer
var ctrlPNR = new String("");
ctrlPNR = ipnr.replace(/-/g, "").substr(2);
if( ctrlPNR.length == 10 ) {
ctrlPNR = ctrlPNR.substr(0, ctrlPNR.length-1)
}
a=0;
sum="";
for( var n=0; n d.getFullYear() ) return false; // Måste vara minst 1900, och inte högre än i år
if( vMonth<0 || vMonth > 12 ) return false; // 1 och 12, naturligt nog...
if( vDay<0 || vDay > 31 ) return false; // 1 och 31, naturligt nog...
if ( (vControl+"").substr((vControl+"").length-1) == lastcontrolpnr(ipnr) ){ //Stämmer kontrollsiffran?
//alert('ok kontrollsiffra');
if ( vAge < 18 ){
//alert('under 18');
return false; // Yngre än 18... no go.
}else if ( vAge == 18 ){
//alert('18 år... på året.');
// Året stämmer... men gör månaden och dagen?
if ( d.getMonth()+1 > vMonth+0 ){//månad?
//alert('18 på måndaden');
//under arton
return true;
}else if ( d.getMonth()+1 == vMonth ){//månad?
//alert('18 år... på månaden.');
if ( d.getDate() >= vDay ){//dag?
//alert('18 år... på dagen.');
return true;
}else{
//alert('under 18 år... dag');
return false;
}
}else{
//alert('under 18 år... månad');
return false;
}
}else{
//alert('över 18');
return true;
}
}else{
//alert('fel kontrollsiffra');
return false;
}
//alert('allt ser ok ut');
return true;
}
//alert('inte rätt format');
return false;
}else if (jdl =='org'){
return true;
}
}
function formCheck(formobj){
// Enter name of mandatory fields
// Enter field description to appear in the dialog box
/*
alert(formobj.levlayer.checked);
if (formobj.levlayer.checked == false){
alert('fal-se');
}else{
alert('tr-ue');
}
return false;
*/
if (formobj.levlayer.checked == true){
var fieldRequired = Array("name","lastname","street","zip","area","land","email","phone","levname","levlastname","levstreet","levzip","levarea","levland");
var fieldDescription = Array("Namn","Efternamn","Gata","Postnr","Postadress","Land","Email","Telefon","Leveransadress: Namn","Leveransadress: Efternamn","Leveransadress: Gata","Leveransadress: Postnr","Leveransadress: Postadress","Leveransadress: Land");
}else{
var fieldRequired = Array("name", "lastname","street","zip","area","land","email","phone");
var fieldDescription = Array("Namn", "Efternamn","Gata","Postnr","Postadress","Land","Email","Telefon");
}
// dialog message
var alertMsg = "Var v\xe4nlig och fyll i f\xf6ljande:
";
var l_Msg = alertMsg.length;
//PERSONNUMMERVALIDERINGEN
if (formobj.land.value == '1'){//ENDAST SVERIGE
if (document.genericform.errorpno.value != 'ok'){
if (ValidatePnr(formobj.pnr.value) == false){
alertMsg += " - Giltigt personnummer
";
}
}
}
for (var i = 0; i < fieldRequired.length; i++){
var obj = formobj.elements[fieldRequired[i]];
if (obj){
switch(obj.type){
case "select-one":
if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].value == ""){
alertMsg += " - " + fieldDescription[i] + "
";
}
break;
case "select-multiple":
if (obj.selectedIndex == -1){
alertMsg += " - " + fieldDescription[i] + "
";
}
break;
case "text":
case "textarea":
if (obj.value == "" || obj.value == null){
alertMsg += " - " + fieldDescription[i] + "
";
}
break;
default:
}
if (obj.type == undefined){
var blnchecked = false;
for (var j = 0; j < obj.length; j++){
if (obj[j].checked){
blnchecked = true;
}
}
if (!blnchecked){
alertMsg += " - " + fieldDescription[i] + "
";
}
}
}
}
if (alertMsg.length == l_Msg){
//Check SMS-AVI
//var sms_avi = form1.sms_avi.value;
//var cellphone = genericform.cellphone.value;
//if (form1.avi.checked == true && cell == "") {
// alert("Du måste fylla i ditt mobilnr om du skall få SMS-AVI!");
// return false;
//}
//Check if Ordervillkor is checked..
//if (genericform.ordervillkor.checked != true ) {
// alert("Du måste godkänna ordervillkoren!");
// return false;
//}
//Check Mail-start
var testresults;
//var str=document.genericform.email.value;
var str=formobj.email.value;
var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
if (filter.test(str)){
testresults=true;
}else{
AjaxError('Din email är inte korrekt formaterad.');//alert("Din Email är inte korrekt!");
testresults=false;
}
return testresults;
//Check Email-Ends
}else{
AjaxError(alertMsg);//alert(alertMsg);
return false;
}
}
function sanity(){
/*
if(paying=="true"){
return false;
}else{
paying = "true";
}
*/
//document.getElementById('pay').disabled == true;
//alert(objButton.style);
openDialog('','preload','Laddar',false);
var formobj = document.genericform;
var alertMsg = "";
//över 18
if (ValidatePnr(document.getElementById('pnr').value,"pnr")==false&&formobj.paymethod.value!='4'){
alertMsg += " - Personnummer: För att få handla hos Lekmer.se måste du ha fyllt 18 år.
";
//}else if ((formobj.pnr.value==""||formobj.pnr.value=="ÅÅÅÅMMDD-XXXX")&&formobj.paymethod.value!='4'){
//alertMsg += " - Personnummer
"
}
if (formobj.paymethod.value=='0'||formobj.paymethod.value=='3'||formobj.paymethod.value=='5'||formobj.paymethod.value=='6'){//pf/faktura
var fieldRequired = Array("phone");
var fieldDescription = Array("Telefonnummer");
}else if(formobj.paymethod.value=='1'){//uppdelad betalning
var fieldRequired = Array("phone","annual_salary");
var fieldDescription = Array("Telefonnummer","Uppskattad årsinkomst");
}else if(formobj.paymethod.value=='2'){//kreditkort
var fieldRequired = Array("phone","cardholder","cardnum","ExpM","ExpY","Cvx2");
var fieldDescription = Array("Telefonnummer","Kreditkortets innehavare","Kreditkortsnummer","Kreditkortets giltighetstid, månad","Kreditkortets giltighetstid, år","Kreditkortets cvc-kod");
}else if(formobj.paymethod.value=='4'){//utomlands
var fieldRequired = Array("levname","levlastname","levstreet","levzip","levarea","land","phone","cardholder","cardnum","ExpM","ExpY","Cvx2");
var fieldDescription = Array("Namn","Efternamn","Gatuadress","Postnummer","Postadress","Land","Telefonnummer","Kreditkortets innehavare","Kreditkortsnummer","Kreditkortets giltighetstid, månad","Kreditkortets giltighetstid, år","Kreditkortets cvc-kod");
}
//telefonnumret 10 nuffror?
if(formobj.phone.value.length<=9){
alertMsg+='- 10 siffror i Mobiltelefonnumret
';
}
for (var i = 0; i < fieldRequired.length; i++){
var obj = formobj.elements[fieldRequired[i]];
if (obj){
switch(obj.type){
case "select-one":
if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].value == ""){
alertMsg += " - " + fieldDescription[i] + "
";
}
break;
case "select-multiple":
if (obj.selectedIndex == -1){
alertMsg += " - " + fieldDescription[i] + "
";
}
break;
case "text":
case "textarea":
if (obj.value == "" || obj.value == null){
alertMsg += " - " + fieldDescription[i] + "
";
}
break;
default:
}
if (obj.type == undefined){
var blnchecked = false;
for (var j = 0; j < obj.length; j++){
if (obj[j].checked){
blnchecked = true;
}
}
if (!blnchecked){
alertMsg += " - " + fieldDescription[i] + "
";
}
}
}
}
//emailvalidering
var str=formobj.email.value;
var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
if (!filter.test(str)){
alertMsg += " - E-postadress
";
}
//ordervillkor
if(document.getElementById('orderterms').checked!=true){
alertMsg += " - Ordervillkoren
";
}
if (alertMsg!=""){
resetDialog('preload', true);
AjaxError('Fel, var vänlig fyll i följande:

'+alertMsg+'
');
paying = "false";
clickedOnce = 0;
return false;
}else{
if(formobj.paymethod.value=='2'||formobj.paymethod.value=='4'){
var xmlHttp=GetXmlHttpObject();
xmlHttp.onreadystatechange=function adtk_xmlhttp(){
if (xmlHttp.readyState==4) {
//alert(xmlHttp.responseText);
window.location.href = xmlHttp.responseText;
}
}
xmlHttp.open("GET",'http://www.lekmer.se/ajax/getpbvurl/',true);
xmlHttp.send(null);
paying = "true";
return false;
}else{
window.location.href = 'http://www.lekmer.se/?menuid=0&viewcart=finalize_new';
paying = "true";
return false;
}
}
}
//Enable/Disable Boxes..
function enableDisable(){
var disable = true;
var arglen = arguments.length;
var startIndex = 0;
var frm = document.genericform;//change appropriate form name
if (arglen>0){
if (typeof arguments[0]=="boolean") {
disable=arguments[0];
if (arglen>1) startIndex=1;
}
for (var i=startIndex;i 1 && match[1] != '') {
output += match[1];
x += match[1].length;
} else {
if (clearString[x] == ' ')
output += '+';
else {
var charCode = clearString.charCodeAt(x);
var hexVal = charCode.toString(16);
output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
}
x++;
}
}
}
return output;
}
function URLDecode( str ) {
var ret = str;
ret = ret.replace(/\+/g, '%20');
ret = decodeURIComponent(ret);
ret = ret.toString();
return ret;
}
function serialize(txt) {
switch(typeof(txt)){
case 'string':
return 's:'+txt.length+':"'+txt+'";';
case 'number':
if(txt>=0 && String(txt).indexOf('.') == -1 && txt < 65536) return 'i:'+txt+';';
return 'd:'+txt+';';
case 'boolean':
return 'b:'+( (txt)?'1':'0' )+';';
case 'object':
var i=0,k,ret='';
for(k in txt){
if(!isNaN(k)) k = Number(k);
ret += serialize(k)+serialize(txt[k]);
i++;
}
return 'a:'+i+':{'+ret+'}';
default:
return 'N;';
alert('var undefined: '+typeof(txt));return undefined;
}
}
function unserialize(txt){
var level=0,arrlen=new Array(),del=0,final=new Array(),key=new Array(),save=txt;
while(1){
switch(txt.substr(0,1)){
case 'N':
del = 2;
ret = null;
break;
case 'b':
del = txt.indexOf(';')+1;
ret = (txt.substring(2,del-1) == '1')?true:false;
break;
case 'i':
del = txt.indexOf(';')+1;
ret = Number(txt.substring(2,del-1));
break;
case 'd':
del = txt.indexOf(';')+1;
ret = Number(txt.substring(2,del-1));
break;
case 's':
del = txt.substr(2,txt.substr(2).indexOf(':'));
ret = txt.substr( 1+txt.indexOf('"'),del);
del = txt.indexOf('"')+ 1 + ret.length + 2;
break;
case 'a':
del = txt.indexOf(':{')+2;
ret = new Array();
arrlen[level+1] = Number(txt.substring(txt.indexOf(':')+1, del-2))*2;
break;
case 'O':
txt = txt.substr(2);
var tmp = txt.indexOf(':"')+2;
var nlen = Number(txt.substring(0, txt.indexOf(':')));
name = txt.substring(tmp, tmp+nlen );
txt = txt.substring(tmp+nlen+2);
del = txt.indexOf(':{')+2;
ret = new Object();
arrlen[level+1] = Number(txt.substring(0, del-2))*2;
break;
case '}':
txt = txt.substr(1);
if(arrlen[level] != 0){alert('var missed : '+save); return undefined;};
level--;
continue;
default:
if(level==0) return final;
alert('syntax invalid(1) : '+save+"\nat\n"+txt+"level is at "+level);
return undefined;
}
if(arrlen[level]%2 == 0){
if(typeof(ret) == 'object'){alert('array index object no accepted : '+save);return undefined;}
if(ret == undefined){alert('syntax invalid(2) : '+save);return undefined;}
key[level] = ret;
} else {
var ev = '';
for(var i=1;i<=level;i++){
if(typeof(key[i]) == 'number'){
ev += '['+key[i]+']';
}else{
ev += '["'+key[i]+'"]';
}
}
eval('final'+ev+'= ret;');
}
arrlen[level]--;
if(typeof(ret) == 'object') level++;
txt = txt.substr(del);
continue;
}
}