
    function doWs( wsPath, wsXml, wsAction, successRef, failRef  )
    {
        wsXml = "<"+wsAction+" xmlns=\"http://telenor.platekompaniet.no/\">"+wsXml+"</"+wsAction+">"

        $.ajax({
        type:"POST", 
        url: wsPath, 
        data: soapWrap( wsXml ),
        contentType: "text/xml; charset=utf-8",
        dataType: "xml",
        processData: false,
        beforeSend: function(XMLHttpRequest) {
            XMLHttpRequest.setRequestHeader("SOAPAction", "http://telenor.platekompaniet.no/"+wsAction);                              
        },
        success: successRef,        
        error: failRef
        });
    }
    function soapWrap( txt )
    {
        var xml ="";
        xml = '<?xml version="1.0" encoding="utf-8"?>';
        xml+= '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">';
        xml+=  '<soap:Body>';
        xml+= txt;
        xml+=  '</soap:Body>';
        xml+= '</soap:Envelope>';
        return xml
    }
    function do_buyD( id, o ) {           
        var xml= '<productId>'+id+'</productId>';
        doWs( "/Basket.asmx", xml, "addDigitalItemCurrent", basketReturn, basketError  );                    
        try { pageTracker._trackEvent("Produkt","Legg i kurv",id);} catch(err) {}
        if (o.className=="buyBtn_mp3") $(o).removeClass("buyBtn_mp3").addClass("buyBtn_mp3_clicked");
        if (o.className=="buyBtnSmall_mp3") $(o).removeClass("buyBtnSmall_mp3").addClass("buyBtnSmall_mp3_clicked");
   }  
   
   function do_remove( id ) {
        //try { pageTracker._trackEvent("Produkt","Fjern fra kurv",id);} catch(err) {}
        doWs("/Basket.asmx","<recId>"+id+"</recId>","removeItemCurrent",function() {document.location.reload(true);},basketError);
   }   
   function basketReturn( xml ) {
    try {    
        // HENT FRA ENTEN DEN ENE ELLER ANDRE TYPEN ADD REQUEST
        basketstatus = xml.getElementsByTagName("addItemCurrentResult")[0];
        if (!basketstatus) basketstatus = xml.getElementsByTagName("addDigitalItemCurrentResult")[0];             
        basketstatus = basketstatus.firstChild.nodeValue; 
        switch (basketstatus)
        {
            case "0": do_basket(); window.scrollTo(800,250); return;
            case "1": document.getElementById("errorpop").innerHTML = "Produktet ligger allerede i kurven";  break;              
            case "2": document.getElementById("errorpop").innerHTML = "En feil oppstod ved innlegging av produkt i handlekurven, vennligst prøv igjen senere."; break;               
            case "3": document.getElementById("errorpop").innerHTML = "Produktet du forsøkte å legge til er utilgjengelig for øyeblikket."; break;
        }
    } catch (ex) {
        document.getElementById("errorpop").innerHTML = "En ukjent feil oppstod, vennligst prøv igjen senere ["+ex+"]...";                
    }
    $('#errorpop').jqmShow();
    document.location="#topp";
   }
   
   function basketError( xml ) {
    document.getElementById("errorpop").innerHTML = "En feil oppstod i handlekurven, vennligst prøv en gang til.";            
    $('#errorpop').jqmShow();            
   }
   
   function do_basket() {
       //xml='<displayCurrentBasket xmlns="http://www.platekompaniet.no/"></displayCurrentBasket>';
       doWs( "/basket.asmx","","displayCurrentBasket",displayBasket,function(myerror){ alert("failed: "+myerror); });
   }
   function displayBasket(xmldoc)
   {
    if (document.getElementById("basketBox")) {                                                  
        o = xmldoc.getElementsByTagName('displayCurrentBasketResult')[0]; 
        if (o) {
            txt = "";
            for (a=0; a<o.childNodes.length; a++) { txt += o.childNodes[a].data; }
            document.getElementById("basketBox").innerHTML = txt;
        } else { 
            st = "";
            try{ st+= (new XMLSerializer()).serializeToString(xmldoc); } 
            catch ( ex ) { 
            try { st+= xmldoc.xml; } catch (ex) { st +="det oppstod et problem ved lesing av xml, vennligst prøv igjen. ";}
            }
            alert("o="+o+"\n"+st);                
        }
	} else { 
	    document.location.reload(true); 
	}
   }
   function gotoUrl( url ) {
    document.location=url;
   }
   function do_login(o1,o2) {
    if (!(o1 && o2)) {
        alert("Brukernavn og passord manglet");
        return;
    }
    if (o1.value == "" || o2.value=="") {
        
        document.getElementById("loginError").innerHTML = "Brukernavn eller passord mangler";
        document.getElementById("loginError").style.color = "#FF0000";
        return;
    }
    xml= '<username>'+o1.value+'</username>';
    xml+= '<password>'+o2.value+'</password>';
    
    doWs( "/login.asmx", xml, "login", loginSuccess, loginFailure )
   }

   function loginSuccess( xmldoc ) {   
        if (xmldoc.getElementsByTagName('string')[0].firstChild.nodeValue=="true") {
            // lukk "pop-up"				            
            $('#loginBox').jqmHide();
            //ASPIRO
            document.location = xmldoc.getElementsByTagName('string')[2].firstChild.nodeValue;
        } else {
            // DENIED
            // vis feil da vel
            document.getElementById("loginError").innerHTML = "<b>Brukernavn og/eller passordet var skrevet feil. Vennligst pr&oslash;v igjen.</b>";
            //document.getElementById("loginError").style.color = "#FF0000";
        }        
   }
   function loginFailure() {
        // vis feil da vel
        document.getElementById("loginError").innerHTML = "<b>Det skjedde en feil p&aring; login-systemet, vennligst pr&oslash;v igjen.</b>";
        //document.getElementById("loginError").style.color = "#FF0000";
   }
   function do_show( id )
   {
        document.getElementById(id).style.display="block";
   }
   

   
   function do_hide( id )
   {
        document.getElementById(id).style.display="none";
   }
   function doPayment() {
        //alert("nå sender jeg formen...");
        document.getElementById('cardVerificationForm').submit();
        //alert("nå skal jeg være sendt...");
   }


