var xmlhttp=false;
var returnText = 10;
var glob_arr = "00";

/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }
@end @*/

 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }
 
if (!xmlhttp && typeof XMLHttpRequest!='undefined')
{
  xmlhttp = new XMLHttpRequest();
}


function getServerName(){
    var str = window.location.protocol + '//' + window.location.hostname;
    return str;
}


function makeSizeTableRows(tag_name, content_array, PROD_VARIANTS_INFO_ARRAY, variantID) {
      
        // get the reference for the body
        var tbody = document.getElementById('tbody_'+tag_name); //document.getElementsByTagName("div")[0];

        var count = tbody.getElementsByTagName("tr").length;
        // Delete all rows with previous values
        if(count > 2){
          for (var i = 2; i < count; i++) {
            tbody.deleteRow(2);
          }
        }

        // creating all cells
        var rows = content_array.length;
        //var columns = content_array[0].length;

        var is_default_set = false;
        
        for (var j = 0; j < rows; j++) {
         
                    
             var size_name = content_array[j][0];
             var size_productid = content_array[j][1];
             var size_id = content_array[j][5];
             var size_variantid = content_array[j][6];
             
             for(var i=0; i < PROD_VARIANTS_INFO_ARRAY.length; i++){
               var stockStatus = 0;
               var size_stock_string = "-";	        

	           if(PROD_VARIANTS_INFO_ARRAY[i][0] == size_variantid){
	             var size_normalPrice = PROD_VARIANTS_INFO_ARRAY[i][1];
	             var size_newPrice = PROD_VARIANTS_INFO_ARRAY[i][2];
                 var size_stock = PROD_VARIANTS_INFO_ARRAY[i][3];
                
                 var temp_array = new Array();
                 temp_array = size_stock.split("_");
                 stockStatus = temp_array[0];
                 size_stock_string = temp_array[1];	   
            
                 break;
	           }
	        }

            var prod_var = size_productid+"_"+size_variantid;

 

            
            //alert(size_variantid);

            //if(!is_default_set){                
       
       
                // Update price fieldes
                priceNormal = parseInt(size_normalPrice);
                priceNew = parseInt(size_newPrice)
             
                priceNormal_String = size_normalPrice;
                priceNew_String = size_newPrice

                if(priceNormal > priceNew){
                  document.getElementById("id_label_priceNormal").innerHTML = currency+" "+priceNormal_String;
                  document.getElementById("id_td_priceNormal").className = "overline";
                  document.getElementById("id_td_priceNew").className = "fontRed";
                  document.getElementById("id_label_priceNew").innerHTML = currency+" "+priceNew_String; 
                }
                else{
                  document.getElementById("id_label_priceNormal").innerHTML = currency+" "+priceNew_String; 
                  document.getElementById("id_td_priceNormal").className = "";
                  document.getElementById("id_label_priceNew").innerHTML = "";
                }
              
                // Update size fieldes
                //document.getElementById("id_label_choosenSize").innerHTML = size_name;
                
                // Update size current_product_var_id
                //document.getElementById('current_product_var_id').value = prod_var;
           
/*
            }
            else{
              document.getElementById("id_label_priceNormal").innerHTML = "-"; 
              document.getElementById("id_label_priceNew").innerHTML = "";
              document.getElementById("id_label_choosenSize").innerHTML = "-";
            }
*/          
            
            // creates a table row
            var row = document.createElement("tr");
            var input;

            // Create a <td> element and a text node, make the text
            // node the contents of the <td>, and put the <td> at
            // the end of the table row


            if(stockStatus == 0){
               var update_btn_addToBasket = " document.getElementById(\"btn_addToBasket\").disabled = true; ";
            }
            else{
               var update_btn_addToBasket = " document.getElementById(\"btn_addToBasket\").disabled = false; document.getElementById(\"warning_btn\").className = \"fontRed FormHidden\"; ";
            }
   
         
            if(usersBrowser == "IE" ){
            // Ændret d. 5.4.2011 - efter IE8 og IE9 problemer med kompatibiltets visning
            //if(usersBrowser == "FALSK" ){
              
              var elementString = "<input type='radio' class='radio' ";
              /*
              if(!is_default_set && (stockStatus == 1)){                 
                 // Initialiserer størrelse, ved at vælge den første
                 elementString += " checked='checked' ";
                 document.getElementById("current_product_var_id").value = prod_var;
                 document.getElementById("id_input_amount").value= 1; 
                 document.getElementById("id_label_choosenSize").innerHTML = size_name;
                 is_default_set = true;
              }
              */
              if(size_variantid == variantID && (stockStatus == 1)){
                 //elementString += " checked='checked' ";
                 //document.getElementById("id_label_choosenSize").innerHTML = size_name;
                 document.getElementById("current_product_var_id").value = prod_var;
                 document.getElementById("id_input_amount").value= 1;                 
              }
              //alert(prod_var+"-"+stockStatus); 
              if(stockStatus == 0){
                 elementString += " disabled='disabled' ";
              }
              
              //alert(size_variantid +'='+ variantID);
              

              
              elementString += " onclick='"+update_btn_addToBasket+" document.getElementById(\"current_product_var_id\").value=\""+prod_var+"\"; document.getElementById(\"id_input_amount\").value=\"1\"; document.getElementById(\"id_label_choosenSize\").innerHTML=\""+size_name+"\"' name='"+tag_name+"' value='"+size_id+"'>"
              input = document.createElement(elementString);
            }
            else{
              input = document.createElement("input");
              input.setAttribute("type", "radio");
              input.setAttribute("className", "radio");
              input.setAttribute("name", tag_name);
              input.setAttribute("value", size_id);
              input.setAttribute("defaultChecked", false);
              input.setAttribute("onclick", update_btn_addToBasket+" document.getElementById(\"current_product_var_id\").value='"+prod_var+"'; document.getElementById(\"id_input_amount\").value='1'; document.getElementById(\"id_label_choosenSize\").innerHTML ='"+size_name+"'");
              /*
              if(!is_default_set && (stockStatus == 1)){
                 // Initialiserer størrelse, ved at vælge den første
                 input.setAttribute("checked", "checked");
                 document.getElementById("current_product_var_id").value = prod_var;
                 document.getElementById("id_input_amount").value= 1; 
                 document.getElementById("id_label_choosenSize").innerHTML = size_name;
                 is_default_set = true;
              }
              */
              if(size_variantid == variantID && (stockStatus == 1)){
                 //input.setAttribute("checked", "checked");
                 //document.getElementById("id_label_choosenSize").innerHTML = size_name;
                 document.getElementById("current_product_var_id").value = prod_var;
                 document.getElementById("id_input_amount").value= 1; 
                 
              }
              if(stockStatus == 0){
                 input.setAttribute("disabled", "disabled");
              }              
            }




            var image = document.createElement("img");
            
            if(stockStatus == 1){
              // in stock
              image.setAttribute("src", "http://static.sofili.com/gfx/green.png");
            }
            else{
              // out of stock
              image.setAttribute("src", "http://static.sofili.com/gfx/red.png");
            }
            
            var cell1 = document.createElement("td");
            var cell2 = document.createElement("td");
            var cell3 = document.createElement("td");
            var cell4 = document.createElement("td");

            var cellText2 = document.createTextNode("\u00a0"+size_name);
            var cellText3 = document.createTextNode("\u00a0\u00a0");
            var cellText4 = document.createTextNode("\u00a0"+size_stock_string);
            
            cell1.appendChild(input);
            cell2.appendChild(cellText2);            
            cell3.appendChild(cellText3);
            cell4.appendChild(image);
            cell4.appendChild(cellText4);
            
            row.appendChild(cell1);
            row.appendChild(cell2);
            row.appendChild(cell3);
            row.appendChild(cell4);
            // add the row to the end of the table body
            tbody.appendChild(row);
/*
            if(stockStatus == 0){
              // No sizes is in stock => disable 'Put in basket' button
              document.getElementById("btn_addToBasket").disabled = true;
            }
            else{
              // Sizes is in stock => enable 'Put in basket' button
              document.getElementById("btn_addToBasket").disabled = false;
            }
            */
        
         }
         document.getElementById("btn_addToBasket").disabled = true;

}


function getProductViaAjax(tag_name, productId, varId){  

  uri = getServerName() + "/getProductViaAjax.php?prodid="+productId+"&var_id="+varId;
  //alert(uri);
  try{
    xmlhttp.open("GET", uri ,true);
  }catch(e){
    alert(e);
  }
  xmlhttp.onreadystatechange=function()
  {
    if (xmlhttp.readyState==4){    
        returnText = xmlhttp.responseText;
        //alert("getProductViaAjax "+returnText);
        
        if(usersBrowser == "IE" ){
          var size_sizes = xmlhttp.responseXML.getElementsByTagName('size_sizes')[0].firstChild.data;
        }
        else{
          var xmlresponse = xmlhttp.responseXML.getElementsByTagName('xmlresponse')[0];
          //alert(xmlresponse.getElementsByTagName('size_sizes')[0].firstChild.nodeValue);
          var temp_sizes = xmlresponse.getElementsByTagName('size_sizes')[0];
          var size_sizes = temp_sizes.firstChild.nodeValue;
          //var size_sizes = (xmlresponse.getElementsByTagName('size_sizes')[0]).firstChild.nodeValue;
        }
		
		var result_array_sizes = new Array(size_sizes);
	    var normalPrice = 0;
	    var newPrice = 0;
	    var stock = 0;
	         
	    for(var i=0; i < size_sizes; i++){
	  	      var temp_array = new Array(7);
	          if(usersBrowser == "IE" ){
  	            temp_array[0] = xmlhttp.responseXML.getElementsByTagName('externsize')[i].firstChild.data;
	            temp_array[1] = xmlhttp.responseXML.getElementsByTagName('productid')[i].firstChild.data;
	            temp_array[2] = normalPrice; //xmlhttp.responseXML.getElementsByTagName('pricenormal')[i].firstChild.data;
	            temp_array[3] = newPrice; //xmlhttp.responseXML.getElementsByTagName('pricenew')[i].firstChild.data;
	            temp_array[4] = stock; //xmlhttp.responseXML.getElementsByTagName('stockstatus')[i].firstChild.data;
	            temp_array[5] = xmlhttp.responseXML.getElementsByTagName('externsizeid')[i].firstChild.data;
	            temp_array[6] = xmlhttp.responseXML.getElementsByTagName('variantid')[i].firstChild.data;
              }
              else{
                var temp = xmlresponse.getElementsByTagName('externsize')[i];
  	            temp_array[0] = temp.firstChild.nodeValue;
  	            var temp = xmlresponse.getElementsByTagName('productid')[i];
	            temp_array[1] = temp.firstChild.nodeValue;
	            temp_array[2] = normalPrice; //xmlhttp.responseXML.getElementsByTagName('pricenormal')[i].firstChild.data;
	            temp_array[3] = newPrice; //xmlhttp.responseXML.getElementsByTagName('pricenew')[i].firstChild.data;
	            temp_array[4] = stock; //xmlhttp.responseXML.getElementsByTagName('stockstatus')[i].firstChild.data;
  	            var temp = xmlresponse.getElementsByTagName('externsizeid')[i];
	            temp_array[5] = temp.firstChild.nodeValue;
  	            var temp = xmlresponse.getElementsByTagName('variantid')[i];
	            temp_array[6] = temp.firstChild.nodeValue;
              }
	          result_array_sizes[i] = temp_array;
	    }

	    //makeSizeTableRows(tag_name, result_array_sizes);	    
	    makeSizeTableRows(tag_name, result_array_sizes, INFO_ARRAY, varId);	    
	    getProductImagesViaAjax(productId, varId);
	    
	    
    }
  }
  try{
    xmlhttp.send(null);
  }catch(e){

  }
  
  
}

function getProductImagesViaAjax(prodId, varId){
  //xml_http = new XMLHttpRequest();
     
  try {
   xml_http = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
    xml_http = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (E) {
    xml_http = false;
   }
  }
  
  if (!xml_http && typeof XMLHttpRequest!='undefined'){
    xml_http = new XMLHttpRequest();
  }
  uri = getServerName() + "/getProductImagesViaAjax.php?prodid="+prodId+"&var_id="+varId;
  //alert(uri);
  //xmlhttp.open("GET", uri ,true);
  try{
    xml_http.open("GET", uri ,true);
  }catch(e){
    alert(e);
  }
  xml_http.onreadystatechange=function()
  {
      if (xml_http.readyState == 4){  
        // Fjern alle micro billeder
        for(var i=0; i < HOW_MANY_MICRO_PICS; i++){
          tagName = 'id_td_detail_'+(i+1);
          if(document.getElementById(tagName)!= null){
            document.getElementById(tagName).className = "FormHidden";
          }
        }
        
        //returnText = xmlhttp.responseText;
        //alert(returnText);
        
        //alert("getProductImagesViaAjax "+returnText);
/*	   
	    var image_sizes = xmlhttp.responseXML.getElementsByTagName('img_sizes')[0].firstChild.data;
        var onclick_string =  function() { window.open('viewProductsDetails.php?prodid='+prodId, 'popup_viewProductsDetails', 'width=600, height=850, top=0, left=0, scrollbars=no, resizable=no');}

        //alert(onclick_string);
        document.getElementById('id_a_main').onclick = onclick_string;
        document.getElementById("id_img_main").src = xmlhttp.responseXML.getElementsByTagName('img_main')[0].firstChild.data;
        for(var i=0; i < image_sizes; i++){
          tagIMG = 'id_img_detail_'+(i+1);
          tagTD = 'id_td_detail_'+(i+1);
          tagA = 'id_a_detail_'+(i+1);
          document.getElementById(tagTD).className = "FormShow";
          document.getElementById(tagIMG).src = xmlhttp.responseXML.getElementsByTagName('img_detail')[i].firstChild.data;
          //document.getElementById(tagA).onclick = onclick_string;
        }
*/
        
        
	          if(usersBrowser == "IE" ){
	            var image_sizes = xml_http.responseXML.getElementsByTagName('img_sizes')[0].firstChild.data;
                var onclick_string =  function() { window.open('viewProductsDetails.php?prodid='+prodId, 'popup_viewProductsDetails', 'width=600, height=850, top=0, left=0, scrollbars=no, resizable=no');}

                document.getElementById('id_a_main').onclick = onclick_string;
                document.getElementById("id_img_main").src = xml_http.responseXML.getElementsByTagName('img_main')[0].firstChild.data+'?cache='+(new Date().getTime());
                for(var i=0; i < image_sizes; i++){
                  tagIMG = 'id_img_detail_'+(i+1);
                  tagTD = 'id_td_detail_'+(i+1);
                  tagA = 'id_a_detail_'+(i+1);
                  document.getElementById(tagTD).className = "FormShow";
                  document.getElementById(tagIMG).src = xml_http.responseXML.getElementsByTagName('img_detail')[i].firstChild.data+'?cache='+(new Date().getTime());
                }
              }
              else{
                var xmlresponse = xml_http.responseXML.getElementsByTagName('xmlresponse')[0];
	            var temp = xmlresponse.getElementsByTagName('img_sizes')[0];
	            var image_sizes = temp.firstChild.nodeValue;
                var onclick_string =  function() { window.open('viewProductsDetails.php?prodid='+prodId, 'popup_viewProductsDetails', 'width=600, height=850, top=0, left=0, scrollbars=no, resizable=no');}

                document.getElementById('id_a_main').onclick = onclick_string;
                var temp = xmlresponse.getElementsByTagName('img_main')[0];
                document.getElementById("id_img_main").src = temp.firstChild.nodeValue;
                for(var i=0; i < image_sizes; i++){
                  tagIMG = 'id_img_detail_'+(i+1);
                  tagTD = 'id_td_detail_'+(i+1);
                  tagA = 'id_a_detail_'+(i+1);
                  document.getElementById(tagTD).className = "FormShow";
                  var temp = xmlresponse.getElementsByTagName('img_detail')[i];
                  document.getElementById(tagIMG).src = temp.firstChild.nodeValue+'?cache='+(new Date().getTime());
                }
              }
                    
      }
  }
  try{
    xml_http.send(null);
  }catch(e){
    //alert(e);
  }

}



