// CREATE XMLHTTP REQUEST delete this eventually

function get_request()
  {  var xmlHttp;
  try
    {    // Firefox, Opera 8.0+, Safari    
    xmlHttp=new XMLHttpRequest();    
    }
  catch (e)
    {    // Internet Explorer    
    try
      {      
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");      
      }
    catch (e)
      {      
      try
        {        
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");        
        }
      catch (e)
        {        
        alert("Your browser does not support AJAX!");        
        return false;        
        }      
      }    
    }
    
  return xmlHttp;  
    
  }

// GENERAL AJAX FUNCTION REPLACE SPAN INNER HTML USING GET
    
function check(span_id,file_uri,vari)
{
$("#"+span_id).load(file_uri+vari,function()
  {
  if (typeof(calcHeights) == 'function') 
    {
    $(document).ready(function()
      {					
	    calcHeights();
	    png_fix();
      }); 
    }
  });
}

function ajax_standard(span_id,file_uri)
{
$("#"+span_id).load(file_uri,function()
  {
  if (typeof(calcHeights) == 'function') 
    {
    $(document).ready(function()
      {					
	    calcHeights();
	    png_fix();
      }); 
    }
  });
}
function ajax_post(span_id,file_uri,formName)
{
var amp;
var params = ""
var st = false;
var dontBlock = $.richArray.contains(arguments,"dontBlock");

$("#"+formName+" :input").each(function()
  {
  var iObj = $(this);
  var iType = iObj.attr("type");
  var iClass = iObj.attr("class");
  var iName = iObj.attr("name");
  var IId = iObj.attr("id");
  
	amp = (st == false) ? "" : "&";
  st = true;  
  if(iType == "checkbox" || iType == "radio")
    {
    if(iObj.is(":checked"))
      {
      params +=  amp+iName+"="+iObj.val();
      }
    else
      {      
      params +=  amp+iName+"=";      
      }
    } 
  else if(iClass == "add_mce")
	    {
      if(typeof tinyMCE != "undefined")
        { 
        var mceContent = tinyMCE.get(iName).getContent();
	      var passedVal = replaceSubstring(mceContent,"+","&#43;");
        params += amp+iName+"="+escape(passedVal);
        }    
      }
	 else
	    {
	    var passedVal = replaceSubstring(iObj.val(),"+","&#43;");
      params += amp+iName+"="+escape(passedVal);
      }
  })
  
  if(dontBlock == false)
    { 
    $.blockUI({ message: $("#ajax-loading-image") });    
    }
    
  $.ajax({
    type: "POST",
    data: params,
    url: file_uri,
    success: function(html)
          { 
		      var response = html.split("|");
		      if($.trim(response[0]) == "fail")
            { 
			       // Empty any previous Error Messages
            $("#"+formName+" :input").each(function()
              {
              var iObj = $(this);
              var iType = iObj.attr("type");
              var iName = iObj.attr("name");
              var IId = iObj.attr("id");

              if(iType != "hidden" && iName != "")
                { 
	              document.getElementById("res_"+iName).innerHTML = " ";
	              }
              })
			
			    var checkNum = response.length;
			    var errNum = 0;
			
          for(i = 1; i < checkNum; i++)
            { 	
				    var subResponse = new Array()
				    sr = response[i].split("::");
			
				    document.getElementById("res_"+sr[0]).innerHTML= "<p class=\"form_warning\">"+sr[1]+"</p>";
				    errNum = errNum+1;
				    }
					
	        if(errNum > 0)
				    { 
				    if($("#res_add_button").length > 0)
				      {
				      document.getElementById("res_add_button").innerHTML= "<p class=\"form_warning\">You have "+errNum+" error(s)</p>\n";
              reset_js(dontBlock);
				      }
            }
			    }
			else
        {
			  if(span_id !== "")
				  { 
          document.getElementById(span_id).innerHTML=html;
          reset_js(dontBlock);
				  }
			  }
      }
    });
}
 
function reset_js(db)
  {
  if(db == false)
	  {
    $.unblockUI();
    }
  //productAccordion();
  }
/*
function ajax_post(span_id,file_uri,formName)
{
var amp;
var params = ""
var st = false;

$("#"+formName+" :input").each(function()
  {
  var iObj = $(this);
  var iType = iObj.attr("type");
  var iClass = iObj.attr("class");
  var iName = iObj.attr("name");
  var IId = iObj.attr("id");
  
	amp = (st == false) ? "" : "&";
  st = true;  
  if(iType == "checkbox" || iType == "radio")
    {
    if(iObj.is(":checked"))
      {
      params +=  amp+iName+"="+iObj.val();
      }
    else
      {      
      params +=  amp+iName+"=";      
      }
    } 
  else if(iClass == "add_mce")
	    {
      if(typeof tinyMCE != "undefined")
        { 
        var mceContent = tinyMCE.get(iName).getContent();
	      var passedVal = replaceSubstring(mceContent,"+","&#43;");
        params += amp+iName+"="+escape(passedVal);
        }    
      }
	 else
	    {
	    var passedVal = replaceSubstring(iObj.val(),"+","&#43;");
      params += amp+iName+"="+escape(passedVal);
      }
  })
      
  $.ajax({
    type: "POST",
    data: params,
    url: file_uri,
    success: function(html)
          {
		      var response = html.split("|");
		      if($.trim(response[0]) == "fail")
            {
			       // Empty any previous Error Messages
            $("#"+formName.id+" :input").each(function()
              {
              
              var iObj = $(this);
              var iType = iObj.attr("type");
              var iName = iObj.attr("name");
              var IId = iObj.attr("id");

              if(iType != "hidden" && iName != "")
                {
	              document.getElementById("res_"+iName).innerHTML = " ";
	              }
              })
			
			    var checkNum = response.length;
			    var errNum = 0;
			
          for(i = 1; i < checkNum; i++)
            { 	
				    var subResponse = new Array()
				    sr = response[i].split("::");
			
				    document.getElementById("res_"+sr[0]).innerHTML= (sr[1] !== "ok") ? "<p class=\"form_warning\">"+sr[1]+"</p>" : "";
				    errNum = (sr[1] !== "ok") ? errNum+1 : errNum;
				    }
					
	        if(errNum > 0)
				    { 
				    if($("#res_add_button").length > 0)
				      {
				      document.getElementById("res_add_button").innerHTML= "<p class=\"form_warning\">You have "+errNum+" error(s)</p>\n";
				      }
            }
			    }
			else
        {
			  if(span_id !== "")
				  { 
          document.getElementById(span_id).innerHTML=html;
				  }
			  }
      }
    });
}
*/
function general_post(span_id,file_uri,params)
{
$.post(file_uri,params,function(data){

  //$("#"+span_id).html(data);
  document.getElementById(span_id).innerHTML = data;
  png_fix();
  });
}

/* IS THIS STILL USED?
function add_price(params,origPrice)
{

var xmlHttp = get_request();

xmlHttp.open("POST",file_uri,true);

xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    xmlHttp.onreadystatechange=function()
      {
      if(xmlHttp.readyState==4)
        {
        if(span_id !== "")
        	{
			document.getElementById("prod_price").innerHTML=xmlHttp.responseText;
			document.getElementById("prod_price2").innerHTML=xmlHttp.responseText;
			}
        }
      }

xmlHttp.send(params);  

}*/

// Add product to shopping bag

function add_to_bag(span_id,file_uri)
{
var params;

$.each($("#content select"),function(i,val){

  params = params+"&"+val.name+"="+val.value;
  });

$.each($("#content input"),function(i,val){ 

  if(val.checked == true || val.type == "select")
    {
    params = params+"&"+val.name+"="+val.value;
    }
  else if(val.type == "text")
    {
		params = params+"&"+val.id+"[]="+val.name;
		params = params+"&"+val.id+"[]="+val.value;
    }

  });
  
$.each($("#content textarea"),function(i,val){ 

	params = params+"&"+val.id+"[]="+val.name;
	params = params+"&"+val.id+"[]="+val.value;
    
  });
  
$.post(file_uri,params,function(data){

  var response = data.split("|"); 
  if($("#upb").length > 0)
    {
    document.getElementById("upb").innerHTML = response[0];
    }
  document.getElementById(span_id).innerHTML = response[1];
  png_fix();
  });
}

function view_bag()
{
var file_uri = "ajax/ajax.php?c=basket_class&a=view_bag";
$.get(file_uri,function(data){
  
  document.getElementById("content").innerHTML = data;
  
  if (typeof(calcHeights) == 'function') 
    {
    $(document).ready(function()
      {					
	    calcHeights();
	    png_fix();
      }); 
    }
  });
}

function delete_prod(prod)
{
var file_uri = "ajax/ajax.php?c=basket_class&a=delete_product&prod="+prod;
redeploy_bag(file_uri);
}

function change_qty(prod,qty)
{
var file_uri = "ajax/ajax.php?c=basket_class&a=change_qty&qty="+qty+"&prod="+prod;
redeploy_bag(file_uri);
}

function use_voucher(code)
{
var file_uri = "ajax/ajax.php?c=basket_class&a=use_voucher&code="+code;
redeploy_bag(file_uri);
}

/*OBSELETE?*/
function edit_quantity(qty,prod,formName)
{
var file_uri = "ajax/ajax.php?c=basket_class&a=edit_quantity&qty="+qty+"&prod="+prod;
redeploy_bag(file_uri);
}

function redeploy_bag(file_uri)
{

var span_id = $("#show_basket").parent().attr("id");

$.get(file_uri,function(data){

  var response = data.split("|");
  if($("#upb").length > 0)
    {
    $("#upb").html(response[0]);
    }

  document.getElementById(span_id).innerHTML = response[1];
  if (typeof(calcHeights) == 'function') 
  {
  $(document).ready(function()
    {					
	  calcHeights();
	  png_fix();
    }); 
  }

  });
}

function png_fix()
  {
            DD_belatedPNG.fix("div, img, a, p")
  }
