/*
 *Initialize
 */
var session_name = "";
var session_id = "";
var please_wait = "";
var defaultAjaxPage = "ajax_default.php";

function setSessionName(name){
   sessionName = name;
}
 function setSessionId(id){
   session_id = id;
 }
 function getSessionString() {
   var toReturn = '';
   if ((sessionName != '') && (session_id != '')) {
     toReturn = session_name + "=" +session_id + "&";
   }
   return toReturn;
 }
 function setPleaseWait(text){
   please_wait = text;
}

function updateNavigation(newPage) {
     document.getElementById("previousPage").value = document.getElementById("currentPage").value;
     document.getElementById("currentPage").value = newPage;
     //alert("newPage:" + document.getElementById("currentPage").value + "\nnewPrev: " + document.getElementById("previousPage").value);
}
 
/*
 * Ajax for Products into Categories
 */

var reqCat;
var urlCat;
function loadXMLCatDoc(key, key2) {
   urlCat="ajax_manufacturers_categories_products.php?"+ getSessionString() + key + "&page="+key2;
   
   writeInObject("productListing_caption", "Updating...");
   writeInObject("productShowcase_caption", "Updating...");
   try { reqCat = new ActiveXObject("Msxml2.XMLHTTP"); }
   catch(e) {
      try { reqCat = new ActiveXObject("Microsoft.XMLHTTP"); }
      catch(oc) { reqCat = null; }
   }
   if (!reqCat && typeof XMLHttpRequest != "undefined") { reqCat = new XMLHttpRequest(); }
   if (reqCat != null) {
      reqCat.onreadystatechange = processChangeCat;
      reqCat.open("GET", urlCat, true);
      reqCat.send(null);
   }
   return false;
}
function processChangeCat() {
   if (reqCat.readyState == 4 && reqCat.status == 200) {
	 updateNavigation(urlCat);
     document.getElementById("productsShowDiv").innerHTML = reqCat.responseText;
     imageflow_initialize_all();
     Update();
   }
}

function categoriesProductsSubmit(category, page) { 
  loadXMLCatDoc(category,page);
}

/*
 * /Ajax for Products into Categories
 *
 * Ajax for Manufacturers List
 */

var req;
var urlMan
function loadXMLDoc(key) {
   urlMan="manufacturers_dropdown.php?"+ getSessionString() + "manufacturersFilter="+key;
   document.getElementById("manufacturers_content").innerHTML = '<div class="manufacturersBoxContent">'+please_wait+"</div>";
   try { req = new ActiveXObject("Msxml2.XMLHTTP"); }
   catch(e) {
      try { req = new ActiveXObject("Microsoft.XMLHTTP"); }
      catch(oc) { req = null; }
   }
   if (!req && typeof XMLHttpRequest != "undefined") { req = new XMLHttpRequest(); }
   if (req != null) {
      req.onreadystatechange = processChange;
      req.open("GET", urlMan, true);
      req.send(null);
   }
   return false;
}
function processChange() {
   if (req.readyState == 4 && req.status == 200) {
      updateNavigation(urlMan);
      document.getElementById("manufacturersBox").innerHTML = req.responseText;
      document.getElementById("manufacturersFilter").focus();
      enableManufacturersCarousel(document.getElementById("manufacturers_carousel").value);
   }
}

function manufacturersSubmit() { 
  var filter = document.getElementById("manufacturersFilter");
  loadXMLDoc(filter.value);
}

function enableManufacturersCarousel(enable) {
  if (enable) {
	new iCarousel("manufacturers_content", {  
	  idPrevious: "manufacturers_previous",  
	  idNext: "manufacturers_next",  
	  idToggle: "undefined",  
	  item: {  
	    klass: "manufacturers_item",  
	    size: 70
      },  
	  animation: {
	    type: "scroll",
	    direction: "top", 
	    duration: 400,  
	    amount: 2  
	  }
    }); 
  }  
}

/*
 * /Ajax for Manufacturers List
 *
 * Ajax for Products List
 */
 
function writeInObject(object, content) {
   if ( (typeof(document.getElementById(object)) != "undefined") && document.getElementById(object) != null) {
     document.getElementById(object).innerHTML = content;
   }
}

var reqPr;
var urlPr
function loadXMLProdDoc(key, key2) {
   urlPr="ajax_manufacturers_categories_products.php?"+ getSessionString() + "manufacturers_id="+key + "&page="+key2;
   writeInObject("productListing_caption", "Updating...");
   writeInObject("productShowcase_caption", "Updating...");
   try { reqPr = new ActiveXObject("Msxml2.XMLHTTP"); }
   catch(e) {
      try { reqPr = new ActiveXObject("Microsoft.XMLHTTP"); }
      catch(oc) { reqPr = null; }
   }
   if (!reqPr && typeof XMLHttpRequest != "undefined") { reqPr = new XMLHttpRequest(); }
   if (reqPr != null) {
      reqPr.onreadystatechange = processChangeProd;
      reqPr.open("GET", urlPr, true);
      reqPr.send(null);
   }
   return false;
}
function processChangeProd() {
   if (reqPr.readyState == 4 && reqPr.status == 200) {
      updateNavigation(urlPr);
      document.getElementById("productsShowDiv").innerHTML = reqPr.responseText;
//      alert("received:" + reqPr.responseText);
      imageflow_initialize_all();
      Update();
//      alert("done");
   }
}

function manufacturersProductsSubmit(manufacturer, page) { 
  loadXMLProdDoc(manufacturer,page);
}
/*
 * /Ajax for Products List
 *
 * Ajax for Product_info
 */

var reqPrInfo;
var urlPrInfo
function loadXMLProdInfoDoc(key) {
   urlPrInfo="ajax_product_info.php?"+ getSessionString() + "products_id="+key;
   writeInObject("productListing_caption", "Updating...");
   writeInObject("productShowcase_caption", "Updating...");
   try { reqPrInfo = new ActiveXObject("Msxml2.XMLHTTP"); }
   catch(e) {
      try { reqPrInfo = new ActiveXObject("Microsoft.XMLHTTP"); }
      catch(oc) { reqPrInfo = null; }
   }
   if (!reqPrInfo && typeof XMLHttpRequest != "undefined") { reqPrInfo = new XMLHttpRequest(); }
   if (reqPrInfo != null) {
      reqPrInfo.onreadystatechange = processChangeProdInfo;
      reqPrInfo.open("GET", urlPrInfo, true);
      reqPrInfo.send(null);
   }
   return false;
}
function processChangeProdInfo() {
   if (reqPrInfo.readyState == 4 && reqPrInfo.status == 200) {
      updateNavigation(urlPrInfo);
      document.getElementById("productsShowDiv").innerHTML = reqPrInfo.responseText;
      Update();
   }
}

function ProductInfoSubmit(pid) { 
  loadXMLProdInfoDoc(pid);
}

/*
 * /Ajax for Product_info List
 *
 * Ajax for Generic
 */

var reqGeneric;
var urlGeneric
function loadXMLGenericDoc(key) {
   urlGeneric=key;
   try { reqGeneric = new ActiveXObject("Msxml2.XMLHTTP"); }
   catch(e) {
      try { reqGeneric = new ActiveXObject("Microsoft.XMLHTTP"); }
      catch(oc) { reqGeneric = null; }
   }
   if (!reqGeneric && typeof XMLHttpRequest != "undefined") { reqGeneric = new XMLHttpRequest(); }
   if (reqGeneric != null) {
      reqGeneric.onreadystatechange = processChangeGeneric;
      reqGeneric.open("GET", urlGeneric, true);
      reqGeneric.send(null);
   }
   return false;
}
function processChangeGeneric() {
   if (reqGeneric.readyState == 4 && reqGeneric.status == 200) {
      updateNavigation(urlGeneric);
      document.getElementById("productsShowDiv").innerHTML = reqGeneric.responseText;
      imageflow_initialize_all();
      Update();
   }
}

function GenericSubmit(key) { 
  loadXMLGenericDoc(key);
}

function Update() {
	var newtitle = document.getElementById("newTitle").value;
	if (newtitle != '') {
	  document.title = newtitle;
	}
	try {
		var pageTracker = _gat._getTracker("UA-7678049-1");
		pageTracker._trackPageview();
	} catch(err) {
	}
}

function NavigatePrevious() { 
  var prev = document.getElementById("previousPage").value;
  if (prev != '') {
    GenericSubmit(document.getElementById("previousPage").value);
  } else {
    GenericSubmit(defaultAjaxPage);
  }
}


/*
 * Ajax Regioni
 */
var reqRegioni;
function loadXMLDocRegioni(key) {
   var url="state_dropdown.php?country="+key;
   document.getElementById("states").innerHTML = '&nbsp;<img style="vertical-align:middle" src="public/images/theme/ajax.gif" alt="loading" width="15" height="15">Attendere prego';
   try { req = new ActiveXObject("Msxml2.XMLHTTP"); }
   catch(e) {
      try { req = new ActiveXObject("Microsoft.XMLHTTP"); }
      catch(oc) { req = null; }
   }
   if (!req && typeof XMLHttpRequest != "undefined") { req = new XMLHttpRequest(); }
   if (req != null) {
      req.onreadystatechange = processChangeRegioni;
      req.open("GET", url, true);
      req.send(null);
   }
}
function processChangeRegioni() {
   if (req.readyState == 4 && req.status == 200) {
      document.getElementById("states").innerHTML = req.responseText;
      /*document.CreateAccount.state.focus();*/
   }
}

