$(document).ready(function(){
    highlightMenu();
    view_address();
    
    partnerFrame();
    // kalender ikon for reservasjon
    $('#forhandler_reservasjon_dato').datepicker({showOn: "button", buttonImage: '/images/icons/calendar_small.png',firstDay: 1, onSelect: 
        function(date, instance) {
            $('form').submit();
        }
    });
    
    var pathname = window.location.pathname;
    if(pathname=='/forhandler/index.php' || pathname=='/forhandler/'){
        setRefresh();
        // tooltip plugin disabled, performance issue?
        //$("body").append("<div id='ToolTipDiv'></div>");tooltip();
        
        // dropdown for å velge hengertype
        $('#hengertypeDropdown').change(function(){hengertypeDropdown(this)});
        
        // kalender ikon over utleie
        $('#utleie_kalender').datepicker({ buttonImage: '/images/icons/calendar.png',buttonImageOnly: true,showOn: 'button',firstDay: 1, onSelect: 
            function(date, instance) {
                window.location = "?date="+date;
            }
        });

        // kalender ikon for reservasjon
        $('#forhandler_reservasjon_dato').datepicker({ buttonImage: '/images/icons/calendar.png',firstDay: 1, onSelect: 
            function(date, instance) {
                window.location = "?date="+date;
            }
        });

        
        // popup
        $('#grid img').click(function(){
            if(!$('#popup')[0]) 
                $('body').append("<div class='hide' id='popup'></div>");
            $('#popup').load('/ajax.php?popup_hengerinfo='+this.className).dialog({
                title: "Info om henger",
                modal: true,
                open: true,
                bgiframe: true,
                draggable: true,
                resizeable: true,
                height: 400,
                width: 700
            });
        });
        

        
    }//forhandler
    zebra();
    
       $('.datepicker').datepicker({ buttonImage: '/images/icons/calendar_small.png',buttonImageOnly: true,showOn: 'button',firstDay: 1, onSelect: 
            function(date, instance) {
                window.location = "?date="+date;
            }
        });
        
        $('.datepicker2').datepicker({ buttonImage: '/images/icons/calendar_small.png',buttonImageOnly: true,showOn: 'button',firstDay: 1, onSelect: 
            function() {
                
            }
        }); 
        
});

function tooltip(){
var xOffset = 50;
var yOffset = -20;
$("#utleieTabell tbody#grid td").hover(function(e){
    this.t = this.title;
    this.title = "";
    $("body").append("<p id='tooltip'>"+ this.t +"</p>");
    $("#tooltip")
    .css("top",(e.pageY - xOffset) + "px")
    .css("left",(e.pageX + yOffset) + "px")
    .fadeIn("fast");
},
function(){
    this.title = this.t;
    $("#tooltip").remove();
});
$("a.tooltip").mousemove(function(e){
    $("#tooltip")
    .css("top",(e.pageY - xOffset) + "px")
    .css("left",(e.pageX + yOffset) + "px");
});
}; 

// extend jQuery
/* Norwegian initialisation for the jQuery UI date picker plugin. */
/* Written by Naimdjon Takhirov (naimdjon@gmail.com). */
jQuery(function($){
    $.datepicker.regional['no'] = {
        closeText: 'Lukk',
        prevText: '&laquo;Forrige',
        nextText: 'Neste&raquo;',
        currentText: 'I dag',
        monthNames: ['Januar','Februar','Mars','April','Mai','Juni',
        'Juli','August','September','Oktober','November','Desember'],
        monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun',
        'Jul','Aug','Sep','Okt','Nov','Des'],
        dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'],
        dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'],
        dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'],
        weekHeader: 'Uke',
        dateFormat: 'dd.mm.yy',
        firstDay: 0,
        isRTL: false,
        showMonthAfterYear: false,
        yearSuffix: ''};
    $.datepicker.setDefaults($.datepicker.regional['no']);
});


/* use with id */
function view_address() {
    if(!document.getElementById("e"))return;
    address_to_replace=document.getElementById("e").childNodes[1];
    real_address=address_to_replace.nodeValue.replace("[at]", "@");
    address_to_replace.nodeValue=real_address; 
    address_to_replace.parentNode.setAttribute("href", "mailto:"+real_address); 
}

function highlightMenu(){
    hrefString = document.location.href ? document.location.href : document.location;
    var arr = hrefString.split('/');
    pageName =  (arr.length<2) ? hrefString : arr[arr.length-2].toLowerCase() + arr[arr.length-1].toLowerCase(); 
    
    if (document.getElementById("nav")!=null){
        arr = document.getElementById("nav").getElementsByTagName("a");
        for (var i=0; i<arr.length; i++){
            if(extractPageName(arr[i].href) == pageName)
            {
                if (arr[i].parentNode.tagName != "DIV")
                {
                    arr[i].className = "current";
                    arr[i].parentNode.className = "current";
                }
            }
        }
    }
}

function extractPageName(hrefString){
    var arr = hrefString.split('/');
    return  (arr.length<2) ? hrefString : arr[arr.length-2].toLowerCase() + arr[arr.length-1].toLowerCase();               
}


/* use with class, not done yet though... */
function addressFix(){
    if (document.getElementsByTagName) {
        var a = document.getElementsByTagName("a")
        var i
        for (i = 0; i < a.length; i++) {
            if (a[i].className && a[i].className == "e") {
                address_to_replace = a[i]
            }
        }
    }
}

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

function admin_hengere_endreHengerBilde(obj){
        var modellID = obj.value;
        var img = document.getElementById('hengerbilde');
        img.src='/images/hengermodeller/'+modellID+'.jpg';
    }
                
function t(obj){
   if(obj.src.match('up.gif')){
      obj.src='/images/icons/details_down.gif';
      document.getElementById('more_details').className='hidden';
   }
   else{
      obj.src='/images/icons/details_up.gif';
      document.getElementById('more_details').className='';
   }
}

function newPage(){
    var fileName;
    fileName = prompt("Oppgi fysisk filnavn:");
    if(fileName != null){
        //location.href="?action=newPage&fileName="+fileName;
        document.forms[0].action.value='newPage';
        document.forms[0].fileName.value=fileName;
        document.forms[0].submit();
    }

}

function hengertypeDropdown(obj){
    if(obj.value=='vis alle')
        $('table#utleieTabell tbody#grid tr').fadeIn('slow');
    else{
        $('table#utleieTabell tbody#grid tr').hide();
        $('table#utleieTabell tbody#grid tr.'+obj.value).fadeIn('slow');
    }
}

function poststed(obj){
 $('#poststed').load('ajax.php?poststed='+obj.value);
}

function kunde(id){
    var val = $('#'+id).val();
    if(val==''){
        alert('Kan ikke finne kunde uten telefonnr');
        return;
    }
   $('#kundeListeDiv').load('ajax.php?kunde=get&mobil='+val);
}

function kunde_select(id,obj){
    $('#kundeDiv').load('ajax.php?kunde_select='+id);
    $('#kundeListePopup').remove();
}

function utleieLagre(status){
    // $stats = array(0=>"Ny", 1=>"Reservert",2=>"Utleid",3=>"Service",4=>"Innlevert",5=>"Slettet");
    $('form input, form select').css('background-color','inherit'); //reset error colors
    $('#status').val(status);
    //validation:
    var error = false;
    if($('#ansatt').val()==""){$('#ansatt').css('background-color','red'); error=true;}
    
    if(status==1){
        if($('#fornavn').val()==""){$('#fornavn').css('background-color','red'); error=true;}
        if($('#etternavn').val()==""){$('#etternavn').css('background-color','red'); error=true;}
        if($('#mobil').val()==""){$('#mobil').css('background-color','red'); error=true;}
    }
    else if(status==2){
        if($('#fornavn').val()==""){$('#fornavn').css('background-color','red'); error=true;}
        if($('#etternavn').val()==""){$('#etternavn').css('background-color','red'); error=true;}
        if($('#mobil').val()==""){$('#mobil').css('background-color','red'); error=true;}
        if($('#adresse').val()==""){$('#adresse').css('background-color','red'); error=true;}
        if($('#postnr').val()==""){$('#postnr').css('background-color','red'); error=true;}
        if($('#pris').val()==""){$('#pris').css('background-color','red'); error=true;}
        if($('#regnr').val()==""){$('#regnr').css('background-color','red'); error=true;}
    }

    if($('#fradato').val()=="" || $('#fradato').val()=="00.00.0000" || !$('#fradato').val().match(/^\d\d\.\d\d\.\d\d\d\d$/)){$('#fradato').css('background-color','red'); error=true;}
    if($('#fratid').val()=="" || !$('#fratid').val().match(/^\d\d:\d\d$/)){$('#fratid').css('background-color','red'); error=true;}
    if($('#tildato').val()=="" || $('#tildato').val()=="00.00.0000" || !$('#tildato').val().match(/^\d\d\.\d\d\.\d\d\d\d$/)){$('#tildato').css('background-color','red'); error=true;}
    if($('#tiltid').val()=="" || !$('#tiltid').val().match(/^\d\d:\d\d$/)){$('#tiltid').css('background-color','red'); error=true;}
    if($('#periode').val()==""){$('#periode').css('background-color','red'); error=true;}
    
  
    if(error) 
        return;


    //if this is a utleie, we must create the receipt and print it
    if(status==2){
        // copy all values to print div
        $('#pNavn').text($('#fornavn').val()+' ' +$('#etternavn').val());
        $('#pAdresse').text($('#adresse').val());
        $('#pPostnr').text($('#postnr').val());
        $('#pSted').text($('#poststed').text());
        $('#pTelefon').text($('#mobil').val());
        $('#pUt').text($('#fradato').val() + ' ' + $('#fratid').val());
        $('#pInn').text($('#tildato').val() + ' ' + $('#tiltid').val());
        $('#pPris').text($('#pris').val());
        $('#pRegnr').text($('#regnr').val());
       
       $('body').append($('#utskrift')); 
       $('#popup').dialog('close');
       window.print();
       window.print();
       //$('#formUtleie').submit();
       $('#popup').dialog('open');
    }
    
    $('#formUtleie').submit();
    
}


var oInterval="";
function pageRefresh(){
    //window.location.href=window.location.href;
    if($('#popup')[0] && $('#popup').dialog( "isOpen" )){
        refreshOnIdleReset();
    }
    else{
        $('#refreshDiv').show();
        window.setTimeout("window.location.href=window.location.href",5000);
    }
        
}


function setRefresh(){
    window.setTimeout("pageRefresh();",300000);
}




function refreshOnIdle() {
    $('#refreshDiv').hide();
    oInterval = window.setInterval(pageRefresh,300000);
}


function refreshOnIdleReset() {
    window.clearInterval(oInterval);
    refreshOnIdle();
    }

function zebra(){
    $("table.zebra tbody tr:nth-child(odd)").addClass("odd");
}

function help(url){
    if(!$('#popupHelp')[0]) 
        $('body').append("<div class='hide' id='popupHelp'></div>");
    $('#popupHelp').load(url).dialog({
        title: "Hjelp",
        modal: true,
        open: true,
        bgiframe: true,
        draggable: true,
        resizeable: true,
        height: 600,
        width: 800
    });  
}

function utleie(obj){
   refreshOnIdleReset();
    $('#utskrift').remove();
    if(!$('#popup')[0]) 
        $('body').append("<div class='hide' id='popup'></div>");
    //use dummy to prevent browser cache of ajax response
    $('#popup').load('ajax.php?popup_utleie='+obj.id +"&dummy=" + new Date().getTime()).dialog({
        title: "Utleie",
        modal: true,
        open: true,
        bgiframe: true,
        draggable: true,
        resizeable: true,
        height: 500,
        width: 800
    });
}

function forhandlerKartPopup(){
    $('#forhandlerkart').dialog({
        modal: true,
        open: true,
        bgiframe: true,
        draggable: true,
        resizeable: true,
        height: 420,
        width: 450
    });        
}

function reserverePopup(id){
    $('#hiddenPopup').load('/ajax.php?action=reservere&id='+id +"&dummy=" + new Date().getTime()).dialog({
        title: "RESERVERE EN TILHENGER",
        modal: true,
        open: true,
        bgiframe: true,
        draggable: true,
        resizeable: true,
        height: 500,
        width: 650
    });
}

function lagre_reservasjon(form){
    var msg = []
    if(form.fornavn.value=='') msg.push('fornavn');
    if(form.etternavn.value=='') msg.push('etternavn');
    if(form.adresse.value=='') msg.push('adresse');
    if(form.postnr.value=='') msg.push('postnr');
    if(form.mobil.value=='') msg.push('mobil');
    
    if(msg.length>0){
        var str = msg.join(', ');
        alert("Vennligst oppgi "+str);
    }
    else{
        if(form.fradato.value=='velg dato') msg.push('dato');
        if(form.fratid.value=='') msg.push('klokkeslett');
        if(form.periode.value=='') msg.push('periode');
        if(msg.length>0){
            var str = msg.join(', ');
            alert("Vennligst oppgi "+str);
            return;
        }
    
    
        var dataString = $(form).serialize();
        $.ajax({
        type: "POST",
        url: "ajax.php",
        data: dataString,
        success: function(txt) {
          $('#result_info').hide();
          if( txt.indexOf('ok|') > -1 ) { 
            var txt2=txt.split("|");
            document.location.href='/reservasjonsbekreftelse.php?id='+txt2[1]+'&c='+txt2[2];
          }
          else{
              $('#result_info').html(txt);
              $('#result_info').hide().fadeIn(1500);
          }
          }
        });
    }
        
}

function gup(name){
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

function toggleEgenandel(obj,kr){
    if(obj.checked)
        $('#pris').val(parseInt($('#pris').val())+kr);
    else
        $('#pris').val(parseInt($('#pris').val())-kr);
    
    if($('#pris').val()=='NaN'){
        $('#pris').val('');
        alert('Du må legge inn en pris, før du kan regne ut tillegg for redusert egenandel')
        obj.checked=false;
    }
    $('#redusert_egenandel_kvitering_checkbox').attr('checked', obj.checked);
    
    if(obj.checked){
        $('#egenandel_kvitering_redusert').show();
        $('#egenandel_kvitering_full').hide();
    }
    else{
        $('#egenandel_kvitering_redusert').hide();
        $('#egenandel_kvitering_full').show();
    }
}

function partnerFrame(){
    if (top === self) {
        //not in a frame 
    } else { 
        $('#nav').remove();
        $('#header').remove();
        $('#menu').remove();
        $('#forhandlerIngress').remove();
    }
}
