var start_price  = 0;
var product_id   = 0;
var min_amount = 1;
var product_weight=0;
var transport=0;
                
var pricegroup_id=0;
var variant_id   =0;
var shipping_id   =0;
                
var pricegroup = new Array();
pricegroup[0] = 0;

var variant = new Array();
variant[0] = 0;

var shipping = new Array();
shipping[0] = 0;


var comments="";                
                
function calcProductPrice() {
    var display_price       =document.getElementById('priceDiv');
    //var display_transport   =document.getElementById('transportDiv');
    //var display_totalprice  =document.getElementById('totalpriceDiv');

    var quantity            =document.getElementById('quantity');
    var variantsDiv         =document.getElementById('variantsContainer');
    
    if(quantity.value<min_amount){
        quantity.value=min_amount;
    }
    var price=0;
    var base_price=start_price;
    var min_quantity=1;
    var max_quantity;
                    
    for(var i=1; i<pricegroup.length; ++i ){
        min_quantity= pricegroup[i][2];
        if(i+1<pricegroup.length){
            max_quantity=pricegroup[i+1][2];
        }
        else{ 
            max_quantity=9999999999;    
        }
                        
        if(quantity.value>=min_quantity && quantity.value<max_quantity){
            pricegroup_id=pricegroup[i][0];
            base_price=pricegroup[i][1];    
        }
    }
                    
    variant_id='';
    selects=variantsDiv.getElementsByTagName('select');
    for(var i=0;i<selects.length;i++){
        curr_select=selects[i].value;
        variant_id += curr_select+',';
        base_price += variant[i+1][curr_select];
    }
                    
    price=base_price*quantity.value;
    
    totalWeight= product_weight*quantity.value;
    
    for(var i=1; i<shipping.length; ++i ){
        min_shipping= shipping[i][2];
        if(i+1<shipping.length){
            max_shipping=shipping[i+1][2];
        }
        else{ 
            max_shipping=9999999999;    
        }
                        
        if(totalWeight>=min_shipping && totalWeight<max_shipping){
            transport=shipping[i][1];    
        }
    }

    totalprice=price+transport;
    
    price_format=formatPrice(price);
    display_price.innerHTML=price_format+'&nbsp;DKK';
    
    //price_format=formatPrice(transport);
    //display_transport.innerHTML=price_format+'&nbsp;DKK';

    //price_format=formatPrice(totalprice);
    //display_totalprice.innerHTML=price_format+'&nbsp;DKK';
}

function formatPrice(price){
    var nStr = price.toFixed(2); 
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? ',' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + '.' + '$2');
    }
    price_format=x1+x2;
    return price_format;    
}

function updateBasketCategory(divId, product_id) {
    var quantity=document.getElementById('quantity_'+divId).value;
    ajaxToBasket(product_id, pricegroup_id, variant_id, quantity, comments);
    document.getElementById('addToBasket_'+divId).style.backgroundImage = 'url(../grafik/basket_submit_ok.png)';
    alertTimerId=setTimeout("toogleImage('addToBasket_"+divId+"', '../grafik/basket_submit.png')", 3000);
}

function updateBasket() {
    var quantity=document.getElementById('quantity').value;
    //var comments=document.getElementById('comments').value;
    ajaxToBasket(product_id, pricegroup_id, variant_id, quantity, comments);
    document.getElementById('addToBasket').style.backgroundImage = 'url(../grafik/basket_submit_ok.png)';
    alertTimerId=setTimeout("toogleImage('addToBasket', '../grafik/basket_submit_big.png')", 3000);
}

function checkQuantity(divId, min_amount){
    var quantity=document.getElementById('quantity_'+divId);
    if(quantity.value<min_amount){
        quantity.value=min_amount;
    }                     
}

var alertTimerStstus = 0;
var alertTimerId = 0;


function toogleImage(id,url){
    if(alertTimerStstus==0){
        document.getElementById(id).style.backgroundImage = 'url('+url+')';
        alertTimerStstus=1;
    }
    else{
        clearTimeout ( alertTimerId );
    }
}

function toogleDisplayDiv(id, action){
    document.getElementById(id).style.display=action;
}

/*****************************************************************AK
* Ajax form validation
*******************************************************************/
//var field_type2='';
var reqFields = new Array();
var errorMsg="";
var checkout1Error=0;

function validateForm(field_value, field_type, divReturn, required, field_value2){
    url = 'php/ajaxValidateForm.php?field_value='+field_value+'&field_type='+field_type+'&required='+required+'&field_value2='+field_value2+'';
    ajax_loading_string = '<img src="grafik/loading.gif" />';
    ajax_loadContent(divReturn, url);
}

function checkForm(divName, reqFields){
    var error=0;
    var validateDiv=document.getElementById(divName).innerHTML;
    var str = ""; 
    
    for(var i=0; i<reqFields.length; ++i ){
        str=document.getElementById(reqFields[i]+'_check').innerHTML; 
        
        if(document.getElementById(reqFields[i]).value ==''){
            error++; 
        }
        if(str.match('no.png')){
            error++; 
        }
    }
    
    if(validateDiv.match('no.png')){
        error++; 
    }
    
    if(error == 0){
        return true;
    }
    else{
        return false;
    }    
}
                
function radioChecked(formName,radioName){
    var radioVar=eval('document.' + formName + '.'+radioName);
    var checkedRadio=0;
                        
    for (var i=0; i < radioVar.length; i++){
        if (radioVar[i].checked){
            var rad_val = radioVar[i].value;
            checkedRadio=1;
        }
    }
                        
    if(checkedRadio==1){
        return true;
    }
    else{
        return false;
    }
}

function getRadioValue(formName,radioName){
    var radioVar=eval('document.' + formName + '.'+radioName);
    var checkedRadio=0;
                        
    for (var i=0; i < radioVar.length; i++){
        if (radioVar[i].checked){
            var rad_val = radioVar[i].value;
        }
    }
    return rad_val;
}


/*****************************************************************JC
* Ajax søgning
*******************************************************************/
function ajaxSearch() {
    searchstring = document.getElementById('ajax_search').value;
    url = "php/ajaxSearch.php?query=" + searchstring + "";
    ajax_loading_string = '<img src="grafik/loading_big.gif" />';
    ajax_loadContent('ajaxSearchResultsContainer',url);
    document.getElementById('ajaxSearchResultsContainer').style.visibility = 'visible';    
    }

function ajaxSearchHide() {
    document.getElementById('ajaxSearchResultsContainer').style.visibility = 'hidden';    
    }

/*****************************************************************AK
* 
*******************************************************************/
function loadImage(filename) {
    document.bigPicture.src = filename;
}
/*****************************************************************JC
* Indkøbskurv: tilføj/fjern produkter
*******************************************************************/
function ajaxLoadSmallBasket() {
    url = 'php/ajaxToBasket.php?action=view_basket';
    ajax_loading_string = '<img src="grafik/loading.gif" />'; 
    ajax_loadContent('smallBasketContainer', url);
    }
/*function ajaxDeleteFromBasket(basket_key) {
    url = 'php/ajaxToBasket.php?action=delete_basket&basket_key='+basket_key+'';
    ajax_loading_string = '<img src="grafik/loading.gif" />';
    ajax_loadContent('smallBasketContainer', url);
    setTimeout('reloadBasket()', 500);
    }
function reloadBasket() {
    document.location = 'index.php?page=basket';
    } */
function ajaxToBasket(product_id,pricegroup_id,variant_id,quantity,comments) {
    basketHeight= document.getElementById('smallBasketContainer').offsetHeight+50;
    document.getElementById('smallBasketContainer').style.height = basketHeight+'px';
    url = 'php/ajaxToBasket.php?action=update_basket&product_id='+product_id+'&pricegroup_id='+pricegroup_id+'&variant_id='+variant_id+'&quantity='+quantity+''+'&comments='+comments+'';
    ajax_loading_string = '<img src="grafik/loading.gif" />';
    ajax_loadContent('smallBasketContainer', url);
    }
function ajaxLoadBigBasket(payment_id) {
    url = 'php/ajaxToBasket.php?action=view_basket_big&payment_id='+payment_id+'';
    ajax_loading_string = '<img src="grafik/big_rotator.gif" hspace="200" vspace="100" />';
    ajax_loadContent('bigBasketContainer', url);
    }
/*****************************************************************JC
* 
*******************************************************************/
function productBookmark() {
    alert('Under konstruktion!');
    }
/*****************************************************************JC
* 
*******************************************************************/
function saveOrder() {
    url = 'php/ajax.php?action=order_save';
    ajax_loading_string = '<img src=grafik/loading.gif>';
    ajax_loadContent('smallBasketContainer', url);
    }
/*****************************************************************AK
* 
*******************************************************************/
/*****************************************************************AK
* 
*******************************************************************/
function creditCards(){
    var cardContainer=document.getElementById('cardZoom');
    var topPos=0;
    var ver = getInternetExplorerVersion();
    if (ver > -1){
        if (ver >= 8.0){
            topPos=50;
        } 
        else{
            topPos=-35;
        }
    }

    if(cardContainer.style.display=='block'){
        cardContainer.style.display='none';
    }
    else{
        cardContainer.style.display='block';
        cardContainer.style.top=topPos+"px";
    }    
}

function getInternetExplorerVersion(){
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}
