//var rootPath = "http://dev3.intbuilder.com/kampanjeshop2/";
var rootPath = "http://www.kampanjeshop.no/";


$(document).ready(function() {	


//$("#freeow").freeow("My Title", "Here's a message");


 // funksjoner for å vise / gjemme suggestionboxen ved fokus inn / ut av søkefeltet
  
  $("#searchfield").blur(function() {    
    hideSuggestionBox();  
  }); 
                                                  
   $("#searchfield").focus(function() {    
    showSuggestionBox();  
  }); 
//*************************************
 
 //   drawCartOnPageRefrech(); 
   //  drawLargeCartOnPageRefrech();
   //   drawLoginBoxOnPageRefrech();
   
 //   drawCartOnPageRefrech(); 
  $("#cart").ready(function() {    
    drawCartOnPageRefrech();  
  }); 

 
  $("#loginBox").ready(function() {       
    drawLoginBoxOnPageRefrech();
  });   
  
  
  // Endre facebookikon på hover    
        
  $("#facebookIkon").mouseover(function(){
    //  var src = $(this).attr("src").match(/[^\.]+/) + "over.png";
           
            $(this).attr("src",rootPath+"images/facebook_ikonover.png");

   });
   
  $("#facebookIkon").mouseleave(function(){
           $(this).attr("src", rootPath+"images/facebook_ikon.png");
    });
   
   // Endre twitter ikon på hover 
  $("#twitterIkon").mouseover(function(){
      $(this).attr("src", rootPath+"images/twitter_ikonover.png");
  });
   
  $("#twitterIkon").mouseleave(function(){
            $(this).attr("src", rootPath+"images/twitter_ikon.png");
    });
    
//COLORBOX    
    //Examples of how to assign the ColorBox event to elements
				$("a[rel='example1']").colorbox();
				$("a[rel='example2']").colorbox({transition:"fade"});
				$("a[rel='example3']").colorbox({transition:"none", width:"75%", height:"75%"});
				$("a[rel='example4']").colorbox({slideshow:true});
				$(".example5").colorbox();
				$(".example6").colorbox({iframe:true, innerWidth:425, innerHeight:344});
				$(".example7").colorbox({width:"80%", height:"80%", iframe:true});
				$(".example8").colorbox({width:"50%", inline:true, href:"#inline_example1"});
				$(".example9").colorbox({
					onOpen:function(){ alert('onOpen: colorbox is about to open'); },
					onLoad:function(){ alert('onLoad: colorbox has started to load the targeted content'); },
					onComplete:function(){ alert('onComplete: colorbox has displayed the loaded content'); },
					onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); },
					onClosed:function(){ alert('onClosed: colorbox has completely closed'); }
				});
				
				//Example of preserving a Javascript event for inline calls.
				$("#click").click(function(){ 
					$('#click').css({"background-color":"#f00", "color":"#fff", "cursor":"inherit"}).text("Open this window again and this message will still be here.");
					return false;
				});
   // COLORBOX END 
      // alert($('#klarnaFakturaRadio').is(':checked'));
      //$('#klarnaFakturaRadio').attr('checked','checked');
      if( $('#klarnaFakturaRadio').is(':checked')) {
              //GJør noe lurt. Feks vise personinfotekst
      }

});   // DOCUMENT READY   


// HOVED FUNKSJONEN FOR HANDLEKURVEN LITEN
function loadCartXMLDoc(url,cfunc)
{     
  if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
    cartXmlhttp=new XMLHttpRequest();
  }
  else
  {// code for IE6, IE5
    cartXmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  cartXmlhttp.onreadystatechange=cfunc;
  cartXmlhttp.open("POST",url,true);
  cartXmlhttp.send();
}

// HOVEDFUNKSJONEN FOR LOGINBOKSEN
function loadLoginboxdXMLDoc(url,cfunc)
{     
  if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
    loginboxXmlhttpp=new XMLHttpRequest();
  }
  else
  {// code for IE6, IE5
    loginboxXmlhttpp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  loginboxXmlhttpp.onreadystatechange=cfunc;
  loginboxXmlhttpp.open("POST",url,true);
  loginboxXmlhttpp.send();
}
     


// CALLBACK FUNKSJONER HANDLEKURV BOKSEN


function addToCart(productId,number,a)
{   
 
     $("#freeow").freeow(a,"Lagt i handlekurv", {
          classes: ["smokey", "error"],
          autoHide: true
      });      
  
  loadCartXMLDoc(rootPath+"ajax/updatecart.aspx/?cmd=addproducttocart&productId="+productId+"&quantity="+number+"",function()
  {
    if (cartXmlhttp.readyState==4 && cartXmlhttp.status==200)
    {
      document.getElementById("cart").innerHTML=cartXmlhttp.responseText;

     
      
       $("#cart").effect("highlight", {}, 300); 
    
    }
  });
 //   window.location.reload( true );
}


function emptyCart()
{ 
  loadCartXMLDoc(rootPath+"ajax/updatecart.aspx/?cmd=emptycart",function()
  {
    if (cartXmlhttp.readyState==4 && cartXmlhttp.status==200)
    {
      document.getElementById("cart").innerHTML=cartXmlhttp.responseText;
    }
  });
}

function drawCartOnPageRefrech()
{    
  loadCartXMLDoc(rootPath+"ajax/updatecart.aspx/?cmd=refresh",function()
  {
    if (cartXmlhttp.readyState==4 && cartXmlhttp.status==200)
    { 
      document.getElementById("cart").innerHTML=cartXmlhttp.responseText;
    }
  });
}






// CALLBACK FUNKSJONER FOR LOGINBOX

function drawLoginBoxOnPageRefrech()
{      
  loadLoginboxdXMLDoc(rootPath+"ajax/updateloginbox.aspx/?cmd=refresh",function()
  {
    if (loginboxXmlhttpp.readyState==4 && loginboxXmlhttpp.status==200)
    {  
      document.getElementById("loginBox").innerHTML=loginboxXmlhttpp.responseText;
    }
  });  
}
    
function loginButtonPushed()
{    
 // alert("loginbuttonpushed");
  var username = document.getElementById('username').value; 
  var password = document.getElementById("password").value;

  //  alert(username+password);  

  loadLoginboxdXMLDoc(rootPath+"ajax/updateloginbox.aspx/?cmd=login&username="+username+"&password="+password,function()
  {
    if (loginboxXmlhttpp.readyState==4 && loginboxXmlhttpp.status==200)
    {  
      if(loginboxXmlhttpp.responseText.indexOf("LOGON")>-1) window.location.reload( true );   // skittent triks.. burda kanskje byttes ut med XML respons??  finner i html koden at returen er positiv pålogging 
      document.getElementById("loginBox").innerHTML=loginboxXmlhttpp.responseText;
     
    }
  });  
}

function forgottenPasswordButtonPushed()
{    
 // alert("forgotten");
  //var username = document.getElementById('emailaddress').value; 
 // var password = document.getElementById("password").value;
//  alert(username+password);
  //  alert(username+password);  

  loadLoginboxdXMLDoc(rootPath+"ajax/updateloginbox.aspx/?cmd=forgotten",function()
  {
    if (loginboxXmlhttpp.readyState==4 && loginboxXmlhttpp.status==200)
    {  
      document.getElementById("loginBox").innerHTML=loginboxXmlhttpp.responseText;
    }
  });  
}

function sendPasswordButtonPushed()
{    
 
  var mailaddress = document.getElementById('emailaddress').value; 
 // var password = document.getElementById("password").value;
//  alert(username+password);
  //  alert(username+password); 
 // alert(mailaddress); 

  loadLoginboxdXMLDoc(rootPath+"ajax/updateloginbox.aspx/?cmd=sendpassword&address="+mailaddress,function()
  {
    if (loginboxXmlhttpp.readyState==4 && loginboxXmlhttpp.status==200)
    {  
      document.getElementById("loginBox").innerHTML=loginboxXmlhttpp.responseText;
    }
  });  
}

 
 function logoutButtonPushed()
{    

  loadLoginboxdXMLDoc(rootPath+"ajax/updateloginbox.aspx/?cmd=logout",function()
  {
    if (loginboxXmlhttpp.readyState==4 && loginboxXmlhttpp.status==200)
    {  
      document.getElementById("loginBox").innerHTML=loginboxXmlhttpp.responseText;
      window.location.reload( true );

    }
  });   
}

function clearText(thefield){
  if (thefield.defaultValue==thefield.value)
  thefield.value = ""
}     

/*
* Funksjon for autosuggest greiene
* ajax søk ved keyup 
* blar i resultatet ved pil ned eller opp
*/


var teller = 0;
var orginal = "";
  
function getAutoSuggestion(ev){

  key=((ev.which)||(ev.keyCode)); // sjekk på asci verien til knappen som er trykker
        
  if(key== 38){// pil opp er trykket 
    
    var numberOfResults =document.getElementById("suggestionAjaxBox").getElementsByTagName("a").length;   // henter antallet a tagger i resultatet
      if(--teller < 0)teller = numberOfResults;  // om man er på resultat 0 og trykker opp blir teller satt til høyeste verdi -  altså bunnen av resultatboksen
    if (element = document.getElementById("res" + teller)) element.className = "selectedSearch";  //  om det finnes et resultat for telleren så sett det som valgt
    if (element = document.getElementById("res" + (teller + 1))) element.className = "notSelected";    // om det finnes et resultat for høyere teller ( forrige) så sett det som ikke valgt
    if (element = document.getElementById("res" + teller)) document.getElementById("searchfield").value = element.innerHTML; // om det finnes et resultat for valgt teller så sett denne verdien i input feltet
    else document.getElementById("searchfield").value = orginal;  // ellers (om man er tilbake på 0 teller) så sett feltet slik det var
    
  }else if(key == 40){// pil ned  trykket
      
    var numberOfResults =document.getElementById("suggestionAjaxBox").getElementsByTagName("a").length;   
    if(++teller > numberOfResults){
	    document.getElementById("res"+(teller-1)).className = "notSelected";
      teller =0;
    }
    if (element = document.getElementById("res" + teller)) element.className = "selectedSearch";
    if (element = document.getElementById("res" + (teller - 1))) element.className = "notSelected";
    if (element = document.getElementById("res" + teller)) document.getElementById("searchfield").value = element.innerHTML;
    else document.getElementById("searchfield").value = orginal; 
   
  }else{
	    
    orginal = document.getElementById("searchfield").value;     // lagre brukerinputten i orginal strengen (så den kan hentes opp igjen)
	  getSuggestionForWord( document.getElementById("searchfield").value);  // kall på AJAX greiene
	  teller =0;
   
  }
}
  
  
// HOVED FUNKSJONEN FOR FORSLAGSØKET
function loadSuggestionXMLDoc(url,cfunc)
{     
  if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
    suggestionXmlhttp=new XMLHttpRequest();
  }
  else
  {// code for IE6, IE5
    suggestionXmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  suggestionXmlhttp.onreadystatechange=cfunc;
  suggestionXmlhttp.open("POST",url,true);
  suggestionXmlhttp.send();
}

// callbackfunksjon for forslagssøket
 function getSuggestionForWord(x)
{    

  loadSuggestionXMLDoc(rootPath+"ajax/updatesuggestions.aspx/?cmd="+x,function()
  {
    if (suggestionXmlhttp.readyState==4 && suggestionXmlhttp.status==200)
    {  
      document.getElementById("suggestionAjaxBox").innerHTML=suggestionXmlhttp.responseText;
   
    }
  });  
}

function hideSuggestionBox(){


    setTimeout('document.getElementById("suggestionAjaxBox").style.visibility = \'hidden\'',500);

}

function showSuggestionBox(){

document.getElementById("suggestionAjaxBox").style.visibility = 'visible';

}



//**************


// velger en variant av et produkt
function selectVariant(element, productgroup){
  window.location = rootPath+"produkt/?productgroup="+productgroup+"&product="+element.value;
}

function showEmailConfirm(){
document.getElementById("emailConfirm").value= "";

//document.getElementById("emailConfirmParagraph").style.visibility = 'visible';
   $("#emailConfirmParagraph").slideToggle(0);
//alert("hei");
}
   
function showPasswordConfirm(){
document.getElementById("passwordConfirm").value= "";
//document.getElementById("passwordConfirmParagraph").style.visibility = 'visible';
 $("#passwordConfirmParagraph").slideToggle(0);
//alert("hei");
}     


       
function yyy(x){  
      $("#freeow").freeow("Her er overskriften",x, {
          classes: ["gray", "error"],
          autoHide: true
      });
}

// ******** KLARNA-GREIER **********
function loadKlarnaCostXMLDoc(url,cfunc)
{     
  if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
    klarnaXmlhttp=new XMLHttpRequest();
  }
  else
  {// code for IE6, IE5
    klarnaXmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  klarnaXmlhttp.onreadystatechange=cfunc;
  klarnaXmlhttp.open("POST",url,true);
  klarnaXmlhttp.send();
}

function getTotalCreditCost(pclass)
{ 
  loadKlarnaCostXMLDoc(rootPath+"ajax/updateklarna.aspx/?pclass=" + pclass,function()
  {
    if (klarnaXmlhttp.readyState==4 && klarnaXmlhttp.status==200)
    {
      document.getElementById("totalcreditcost").innerHTML=klarnaXmlhttp.responseText;
    }
  });
}
 
// vise/skjule fødselsnummer-felt  
function loadKlarnaFnrXMLDoc(url,cfunc)
{     
  if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
    klarnaFnrXmlhttp=new XMLHttpRequest();
  }
  else
  {// code for IE6, IE5
    klarnaFnrXmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  klarnaFnrXmlhttp.onreadystatechange=cfunc;
  klarnaFnrXmlhttp.open("POST",url,true);
  klarnaFnrXmlhttp.send();
}

function loadMinimumAmountXMLDoc(url,cfunc)
{     
  if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
    minimumAmountXmlhttp=new XMLHttpRequest();
  }
  else
  {// code for IE6, IE5
    minimumAmountXmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  minimumAmountXmlhttp.onreadystatechange=cfunc;
  minimumAmountXmlhttp.open("POST",url,true);
  minimumAmountXmlhttp.send();
}


function togglePersonalNumber(paymenttypeid)
{ 
  loadKlarnaFnrXMLDoc(rootPath+"ajax/updateklarna.aspx/?paymenttypeid=" + paymenttypeid,function()
  {
    if (klarnaFnrXmlhttp.readyState==4 && klarnaFnrXmlhttp.status==200)
    {
      document.getElementById("klarna_pno").innerHTML=klarnaFnrXmlhttp.responseText;
    }
  });
  
  loadMinimumAmountXMLDoc(rootPath+"ajax/updateminimum.aspx/?paymenttypeid=" + paymenttypeid,function()
  {
    if (minimumAmountXmlhttp.readyState==4 && minimumAmountXmlhttp.status==200)
    {
      document.getElementById("submit").innerHTML=minimumAmountXmlhttp.responseText;
    }
  });  
}


//Funksjon som fyres av click på "bruk annen leveringsadresse"
//Kjører ny funksjon som setter valideringsregler for nye felter (finnes i formvalidation.js linje 267)
function toggleDeliveryFields () 
 {
  toggleValidationOnDeliveryFields();
    //Ser ut til at toggle bugger i firefox....
    //$('#deliveryFields').toggle();
  
    if ($('#deliveryFields').css('display')=='none'){
        $('#deliveryFields').css('display', 'block');
    } else {
        $('#deliveryFields').css('display', 'none');
    }
}
 


      

