var smsCode='';
var gsmnumber='';
var topRight=0;
var rmenu;
var topLeft=0;
var lmenu;
var req;
var cgo=0;
var browser ='';
var old = 0;

function expander(a,lr,realign){
    var obj=document.getElementById(a).style;
    obj.display=(obj.display =="none")?"":"none";
    if(realign){
        if(lr=='l')initLeft();
        if(lr=='r')initRight();
    }
}

function miniDetect(){	
	if (navigator.userAgent.indexOf('Safari')>-1){browser = 'sa';}
    else if (navigator.userAgent.indexOf('Firefox')>-1){browser = 'ff';}
	else if (navigator.userAgent.indexOf('Opera')>-1){browser = 'op';}
	else if ((navigator.userAgent.indexOf('MSIE')>-1)&&(navigator.platform.indexOf('Win')>-1)){browser = 'ie';}
	return browser;
}
function initRight(){
    old = topRight;
    rmenu = new getObj('rightpad');
    rmenuf = new getObj('rmarker');
    tr=findPosY(rmenuf.obj);
    topRight=(tr>topRight)?((document.all||browser=='sa')?tr+0:tr):((topRight==0)?topRight:((document.all||browser=='sa')?tr+15:tr));
    moveMenu(rmenu,topRight);
    self.setInterval('moveMenu(rmenu,topRight)',50);
}
function initLeft(){
	old = topLeft;
	lmenu = new getObj('leftpad');
	lmenuf = new getObj('lmarker');
	tl=findPosY(lmenuf.obj);
	topLeft=(tl>topLeft)?((document.all||browser=='sa')?tl+15:tl):((topLeft==0)?topLeft:((document.all||browser=='sa')?tl+15:tl));
    moveMenu(lmenu,topLeft);
    self.setInterval('moveMenu(lmenu,topLeft)',50);
}
function moveMenu(menu,menutop){
    if (window.innerHeight) pos = window.pageYOffset;
    else if (document.documentElement && document.documentElement.scrollTop) pos = document.documentElement.scrollTop;
    else if (document.body) pos = document.body.scrollTop;
    if (pos < menutop) pos = menutop;
    if (pos-menutop == 0) menu.style.top = menutop +'px';
    else if (pos == old) menu.style.top = pos +'px';
    old = pos;

}
function checkStep2(adm){
    var error=false;
    var errtext='';
    var errcnt=1;
    var financing='';
    var bc=document.getElementById('bonecollector');
    var kn=document.getElementById('kname1');
    var ka=document.getElementById('kaddr1');
    var kz=document.getElementById('kzip1');
    var kc=document.getElementById('kcity1');
    var ke=document.getElementById('kemail1');
    var kp1=document.getElementById('paymethod1');
    var pay=1;
    var pay=(kp1!=null&&kp1.checked)?6:pay;
    //
    var kname=document.getElementById('kname');
    kname=trim(kname.value);
    var kaddr=document.getElementById('kaddr');
    kaddr=trim(kaddr.value);
    var kzip=document.getElementById('kzip');
    kzip=trim(kzip.value);
    var kcity=document.getElementById('kcity');
    kcity=trim(kcity.value);
    var ktlf=document.getElementById('ktlf');
    ktlf=trim(ktlf.value);
    var kemail=document.getElementById('kemail');
    if (kemail.getAttribute('obligatory') == 1){
        if (trim(kemail.value) == ""){
            errtext+=errcnt+'. E-Post er et obligatorisk felt. \n'; errcnt++; error=true;ke.style.color="#ff0000";
        }
    }
    kemail=trim(kemail.value);
    var felem=document.getElementById('financing');
    financing=trim(felem.value);
	// MemberID
	var kansattnr=document.getElementById("kansattnr");
	var kansattnrv='';
	var ka='';
	if(kansattnr!=null){
		kansattnrv=trim(kansattnr.value);
		ka=document.getElementById('kansattnr1');
	}
	// Birthdate
    var kbirthdate=document.getElementById('kbirthdate1');
	var birthdate=document.getElementById("birthdate");
	if(kbirthdate){
		birthdate=birthdate.value;
	}else birthdate='';
    // Rules
    var rules1=document.getElementById('rules1');
    var rules2=document.getElementById('rules2');
    var rules3=document.getElementById('rules3');
    if(rules1!=null){
        rules1=rules1.checked;
	}
    if(rules2!=null){
        rules2=rules2.checked;
    }
    // Optional
    var kref=document.getElementById('kref');
    if(kref!=null)kref=kref.value;
    else kref='';
    // Error checking
    if(!namecheck(kname)){ errtext+=errcnt+'. Kundenavn: For- og etternavn\n'; errcnt++; error=true;kn.style.color="#ff0000";}
    //if(kaddr==''){ errtext+=errcnt+'. Adresse\n'; errcnt++; error=true;ka.style.color="#ff0000";}
    if(kaddr=='')$kaddr='.';
    if(kzip==''){ errtext+=errcnt+'. Postnummer\n'; errcnt++; error=true;kz.style.color="#ff0000";}
    else if(!IsNumeric(kzip)){ errtext+=errcnt+'. Postnummer - må være 4 siffer!\n'; errcnt++; error=true;kz.style.color="#ff0000";}
    if(kcity==''){ errtext+=errcnt+'. Sted\n'; errcnt++; error=true;kz.style.color="#ff0000";}
    if(kemail==''&&financing==1){ errtext+=errcnt+'. E-post er obligatorisk!\n'; errcnt++; error=true;ke.style.color="#ff0000";}
    if(kemail!=''&&!emailcheck(kemail)){ errtext+=errcnt+'. E-post - ikke epost adresse!\n'; errcnt++; error=true;ke.style.color="#ff0000";}
    if(kansattnr!=null&&kansattnrv==''){ errtext+=errcnt+'. Medlemsnummer\n'; errcnt++; error=true;ka.style.color="#ff0000";}
    if(kbirthdate!=null&&!bdcheck(birthdate)){ errtext+=errcnt+'. Fødselsdato - må være i format ddmmåååå!\n'; errcnt++; error=true;kbirthdate.style.color="#ff0000";}
    // age check
    if(kbirthdate!=null&&!checkAge(birthdate,18)){ errtext+=errcnt+'. Fødselsdato - du må være over 18 år for å oppgradere et abonnement. \n'; errcnt++; error=true;kbirthdate.style.color="#ff0000";}
    if(rules1!=null){
        if(!rules1){ errtext+=errcnt+'. For å fortsette må du akseptere abonnementsvilkårene!\n'; errcnt++; error=true;}
	}
    if(rules2!=null){
        if(!rules2){ errtext+=errcnt+'. Du må bekrefte at du er inneforstått med at varen kun leveres til folkeregistrert adresse!'; errcnt++; error=true;}
    }
	if(errcnt>1) error=true;
    if(error) alert('Feilsituasjon oppstod. Det mangler informasjon i følgende felt(er):\n'+errtext);
    else {
        var rb=document.getElementById('levopt');
        var blist=rb.getElementsByTagName('input');
        var levmeth='';
        for(a=0;a<blist.length;a++)
            if(blist[a].checked) levmeth=blist[a].value;
        chk3=(rules3!=null&&rules3.checked)?1:0;
        bc.collector.value=kname+';'+kaddr+';'+kzip+';'+kcity+';'+ktlf+';'+kemail+';'+kref+';'+pay+';'+levmeth+';'+chk3+';'+birthdate+';'+kansattnrv;
        //alert( bc.collector.value);
        bc.submit();
    }
}
function checkStep3(disableitem){
    var error=false;
    var errtext='';
    var errcnt=1;
		var baseurl=document.getElementById('baseurl').value;

	// Check order confirmation details
    var rb=document.getElementById('ackopt');
    var cg=document.getElementById('cgsm');
    var ce=document.getElementById('cemail');
    var ackmeth=0;
    var ackdata=0;
    var esub=document.getElementById('esubs');
    var blist=rb.getElementsByTagName('input');

    for(a=0;a<blist.length;a++) if(blist[a].type=='radio'&&blist[a].checked) ackmeth=blist[a].value;

    if(ackmeth==1){
        ackdata=document.getElementById('ackgsm');
        ackdata=trim(ackdata.value);
        if(!parseInt(ackdata)) error=true;
        else{
            if(ackdata.length!=8) error=true;
            else
                if(ackdata.charAt(0)!=9&&ackdata.charAt(0)!=4) error=true;
        }
        if(error){
            errtext=errcnt+'. Du må skrive inn ett gyldig GSM nummer. \nDet inneholder 8 siffer og begynner med 4 eller 9!\nSkriv tallet uten mellomrom\n';
            errcnt++;
            error=true;
            cg.style.color="#ff0000";
        }
    }else if(ackmeth==2){
        ackdata=document.getElementById('ackemail');
        ackdata=trim(ackdata.value);
        if(!emailcheck(ackdata)){
            errtext+=errcnt+'. Du må skrive inn en gyldig e-post adresse!\n';
			errcnt++;
            error=true;
            ce.style.color="#ff0000";
        }
    }

	// Check extra spons
    var es=document.getElementById('extrasubs');
	if(es)
		exsubs=es.value;
	else exsubs=0;
    if(esub) esub.value = exsubs;

	// Check username and password
    var un=document.getElementById('loginopt');
    var unlist=un.getElementsByTagName('input');
    var login=0;
    var pwfld=document.getElementById('logininfo');
    var uname=document.getElementById('username');
    var pwd=document.getElementById('password');
    var pwd2=document.getElementById('password2');

    uname=trim(uname.value);
    pwd=trim(pwd.value);
    pwd2=trim(pwd2.value);

    for(a=0;a<unlist.length;a++) if(unlist[a].type=='radio'&&unlist[a].checked) login=unlist[a].value;

    if(login==1){
        if(uname!=''&&!emailcheck(uname)){ errtext+=errcnt+'. Brukernavn - du må skrive inn en gyldig e-post adresse!\n'; errcnt++; error=true;}
        if(pwd.length<6){ errtext+=errcnt+'. Passord må være minst 6 tegn!\n'; errcnt++; error=true;}
        if(pwd!=pwd2){errtext+=errcnt+'. Passord og gjenntatt passord er ikke like!\n'; errcnt++; error=true;}
    }else{
		uname=0;
		pwd=0;
	}

	// Report errors and exit if any
    if(errcnt>1){
		alert('Feil situasjon oppstod. Det mangler informasjon i følgende felt(er):\n'+errtext);
		return;
	}

	// Find paymentmethod
	var pay=document.getElementById('paymentm').value;
	var data="/ackmeth/"+ackmeth+"/ackdata/"+ackdata+"/newlogin/"+login+"/uname/"+uname+"/upwd/"+pwd+"/extrasubs/"+exsubs;

	// If creditcard
	if(pay==6){
		// Gather information in the accept URL
		var ccform=document.getElementById('ccform');
		var accurl=ccform.accepturl;
		var baseaccurl=document.getElementById('baseaccepturl');
		var callbackurl=document.getElementById('callbackurl');
		
		accurl.value=baseaccurl.value+data;
		callbackurl.value='http://'+location.hostname+'/index.php/Portal/action/dibscallback/oid/'+document.getElementById('orderid').value;
		callbackurl.value=callbackurl.value+"/ackmeth/"+ackmeth+"/ackdata/"+ackdata+"/newlogin/"+login+"/uname/"+uname+"/upwd/"+pwd+"/extrasubs/"+exsubs;
		// Send data to Visa
		//alert("Dibs: "+accurl.value+"\n\nCallback: "+callbackurl.value);
		ccform.submit();
	}

	// If pay on demand
	if(pay==1){
		// Gather information in the accept URL
		var bc=document.getElementById('OrderSend');
		bc.action=baseurl+data;
	
		// Send data to shop
		//alert("PoD: "+bc.action);
        disableitem.onclick=function(){return false;}
		bc.submit();
	}
}
function checkBasket(mark,url){
    if(mark==1){
        if(confirm('Det er kun mulig a kjøpe ett abonnement pr. bestilling. \nDu har allerede lagt inn en telefon som forutsetter abonnement. \nØnsker du a slette ditt forrige valg og legge inn dette som nytt valg?'))
			self.location=url+'/delb/1';
	}else{
		self.location=url+'/delb/1';
	}
}
function getGSM(loc,uma){
    var iobj=document.getElementById('gsmnumber');
    var gsmnr=iobj.value;
    var error=false;
    var userlevel=document.getElementById('userlevel').value;
    var gsmoption=document.getElementById('gsmoptionselected').value;
    var portOption=0;
    var portData=0;
	var errorm='';
	var email=0;
    var portelement = document.getElementById('portData');
    var add='';
    if(gsmoption==2&&userlevel>1&&portelement){
		portData=portelement.value;
		portOption=getRadioSelected('portOption').value;
    }
	if(!gsmcheck(gsmnr)||(portOption==1&&!gsmcheck(portData))){
		error=true;
		errorm='Du må skrive inn ett gyldig GSM nummer. \n\
				Det inneholder 8 siffer og begynner med 4 eller 9!\n\
				Skriv tallet uten mellomrom';
	}else if(portOption==2){
		if(!emailcheck(portData)){
			error=true;
			errorm='Du må skrive inn en gyldig e-post adresse!';
		}
	}
    if(uma==1){
        var umanumber1 = document.getElementById('umanumber');
        var umanumber2 = document.getElementById('umanumber2');
        var umaval1 = umanumber1.value;
        var umaval2 = umanumber2.value;
        if(collectUMA('umanumber', 'umanumber2', '', '')){
            if(umaval1=='') umaval1=0;
            if(umaval2=='') umaval2=0;
            add = '/umanumber1/'+umaval1+'/umanumber2/'+umaval2;
        } else return false;
    }
    if(error) alert(errorm);
	else self.location=loc+'/gsmoption/'+gsmoption+'/gsmnumber/'+gsmnr+'/portdata/'+portData+'/portoption/'+portOption+add;
}
function setUMA(check, number, numbercnt){
    var sel = document.getElementById(check);
    var umanumber = document.getElementById(number);
    var umaval = umanumber.value;
    if(umaval=='') umaval=0;
    if(sel.checked == 0){
        asyncloadHTML('/index.php/Portal/action/setUmaNumber/check/-1/numbercnt/'+numbercnt);
    } else {
        if(umaval == '') {asyncloadHTML('/index.php/Portal/action/setUmaNumber/check/-1/numbercnt/'+numbercnt);}
        else if(umaval.length!=8 || !IsNumeric(umaval)){
            asyncloadHTML('/index.php/Portal/action/setUmaNumber/check/-1');
            alert('Telefonnummeret må inneholde 8 sifre!');
        } else {
            asyncloadHTML('/index.php/Portal/action/setUmaNumber/check/1/number/'+umaval+'/numbercnt/'+numbercnt);
        }
    }
}
function collectUMA(uma1, uma2, loc, move){
    var umanumber1 = document.getElementById(uma1);
    var umanumber2 = document.getElementById(uma2);
    var umaval1 = umanumber1.value;
    var umaval2 = umanumber2.value;
    var error = false;
    var msg = '';
    if(umaval1.length!=8 || !IsNumeric(umaval1)) error=true;
    if(umaval2.length!=8 || !IsNumeric(umaval2)){
        if(error!=false) msg = 'Du må fylle inn minst ett telefonnummer, og det må inneholde 8 sifre.';
    } else error=false;
    if(error==false){
        if(umaval1=='') umaval1=0;
        if(umaval2=='') umaval2=0;
        if(move==1) self.location=loc+'/Portal/action/collectUMA/number1/'+umaval1+'/number2/'+umaval2;
        else{
            return true;
        }
    } else{
        alert(msg);
        return false;
    }
}
function tfLogin(tfGsm) {
	if(tfGsm.length!=8 || !IsNumeric(tfGsm)) {
		alert('Venligst fyll inn et 8-siffer telefonnummer.');
		return false;
	} else {
		self.location='/index.php/Portal/action/tfLogin/gsm/'+tfGsm;
	}
}

function swapImage(iter, prodid){
	var origimg=document.getElementById('imgorig'+prodid);
	var altimg=document.getElementById('oimg'+iter);
	var seltarg=document.getElementById('oimglink'+iter);
	var cont=document.getElementById('otherimg'+prodid);
	var olinks=cont.getElementsByTagName('a');
	origimg.src=altimg.src;
	for(a=0;a<olinks.length;a++) setCSSClass(olinks[a]);
	setCSSClass(seltarg,'selected');
}
	
function checkForm(formname){
	var fobj=document.getElementById(formname);
	var lobj=fobj.getElementsByTagName('input');
	var error=new Array();
	var fattr='';
	var ftitle='';
	var ftype='';
	var reqalt='';
	var reqalttitle=new Array();
	for(i=0;i<lobj.length;i++){
		fattr=lobj[i].getAttribute('required');
		disabled=lobj[i].getAttribute('disabled')?true:false;
		ftitle=lobj[i].getAttribute('title');
		ftype=lobj[i].getAttribute('fieldtype');
		if(fattr=='true' && lobj[i].value==''&&ftype!='reqoption' && !disabled) error.push(ftitle+' er obligatorisk felt.');
		else if(fattr=='true' && lobj[i].value==''&&ftype=='reqoption') reqalttitle.push(ftitle);
		else if(fattr=='true' && lobj[i].value!=''&&ftype=='reqoption') reqalt=lobj[i].value;
		if(ftype&&ftype=='email'&&lobj[i].value!=''&&!emailchecker(lobj[i].value))error.push(ftitle+' er ikke gyldig epost adresse.');
	}
	if(reqalt==''&& reqalttitle.length>0)error.push('Det må fylles ut eller'+reqalttitle.join(' enten ')+'.');
	if(error.length>0)alert('Feil\r\n'+error.join('\r\n'));
	else fobj.submit()
}
function emailchecker(str){
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str)) return true;
	else return false;
}
function changeInvitationStatus(id,uname,istatus,frm){
	var rowobj=document.getElementById('turow'+id);
//	var rowobj1=document.getElementById('urow'+id);
	var delrow = false;
	if(rowobj){
		//delete
		if(istatus==0){
			if(confirm('Vil du slette invitasjon til '+uname+'?')){
				var listaction = '/index.php/Dispatcher/action/changeinvitationstatus/userid/'+id+'/status/0';
				asyncloadHTML(listaction);
				delrow=true;
			}
		//approve
		}else if(istatus==1){
			if(confirm('Vil du godkjenne '+uname+' som web bruker?')){
				var listaction = '/index.php/Dispatcher/action/changeinvitationstatus/userid/'+id+'/status/1';
				asyncloadHTML(listaction);
				delrow=true;
			}
		// resend
		}else if(istatus==2){
			if(confirm('Vil du sende ny invitasjon til '+uname+'?')){
				var listaction = '/index.php/Dispatcher/action/changeinvitationstatus/userid/'+id+'/status/2';
				asyncloadHTML(listaction);
				alert('Ny invitasjon er sendt til '+uname+'.');
			}
		}
	}
	if(delrow){
		var parelem=rowobj.parentNode;
		parelem.removeChild(rowobj);
	//	if(rowobj1)parelem.removeChild(rowobj1);
		if(istatus==0){
			alert('Invitasjon til '+uname+' er slettet.');
		} else if(istatus==1){
			alert(uname+' er godkjent som web bruker.\r\n');
		}
	}
}
function addUser(){
	form=document.getElementById('addUserForm');
	var input=form.getElementsByTagName('input');
	var poststr='';var val;
	for(var i=0;i<input.length;i++){
		ftype=input[i].getAttribute('fieldtype');ftitle=input[i].getAttribute('title');fattr=input[i].getAttribute('required');
		if(fattr=='true'&&input[i].value==''){alert(ftitle+' er obligatorisk.');return false;}
		if(ftype=='email'&&!emailchecker(input[i].value)){alert('Ugyldig epostadresse.');return false;}
		if(input[i].type=='checkbox') val=input[i].checked;
		else val=input[i].value;
		poststr+=input[i].name+'='+val;
		if(i<input.length-1)poststr+='&';
	}
	var listaction = '/index.php/Dispatcher/action/adduser';
	asyncloadHTML(listaction,'POST',poststr);
}
function addUserCallback(response,target,hint){
	alert(hint);
	form=document.getElementById('addUserForm');
	var input=form.getElementsByTagName('input');
	for(var i=0;i<input.length;i++){
		if(input[i].type=='checkbox')input[i].checked=false;
		else if(input[i].type=="text"||input[i].type=="password")input[i].value='';
	}
}
function deleteUser(uid,uname){
	if(confirm('Vil du slette '+uname+'?')){
		var action='/index.php/Dispatcher/action/deleteuser/uid/'+uid;
		asyncloadHTML(action);
	}
}
function deleteUserCallback(response,target,hint){
	alert(hint);
	var table=document.getElementById('userlist').tBodies[0];
	var obj=document.getElementById('user_'+target);
	table.removeChild(obj);
}
function fieldUpdate(obj,action,main,async){ 
	var sync=(!async)?true:false;
	var listaction = '/index.php/Dispatcher/action/'+main+'/update/'+action+'/value/'+obj.value+'/objid/'+obj.id;
   	if(sync)
		loadHTML(listaction);
	else
		asyncloadHTML(listaction);
}
function changeuserlevel(uid,checkbox) {
	var value=(checkbox.checked==false)?1:2;
	var action='/index.php/Dispatcher/action/changeuserlevel/uid/'+uid+'/value/'+value;
	asyncloadHTML(action);
}
function checkPassword(formname){
	var fld1=document.getElementById('npassw1');
	var fld2=document.getElementById('npassw2');
	
	if(fld1.value!=fld2.value) alert('Nytt passordet og gjentatt passordet er ikke like.\r\nPrøv på nytt!');
	else if(fld1.value!=''&&fld2.value!=''){
		if(formname) document.getElementById(formname).submit();
		else fieldUpdate(fld1,'updatepassword','updateaccount',1);
	}
	else return;
}
