var gProductID=null;

function log(msg) {
          var logger = document.getElementById('logger');
          logger.value = logger.value + "\n" + msg; 
}
  function OnSizeChanged() {
    var sizeMenu = document.getElementById('sizeMenu');
    onMainSizeChanged(sizeMenu.value);
    populateColors(gProductID,sizeMenu.value, 'colorMenu');
  }
  
  function OnColorChanged() {
    var colorMenu = document.getElementById('colorMenu');
    recommendedProducts = document.getElementsByName("recommendedProduct");
    for(i=0; i <recommendedProducts.length; i++) {
      var productID = recommendedProducts[i].value;
      var recommendedColorMenu = document.getElementById("colorMenu_" + productID)
      recommendedColorMenu.value=colorMenu.value;
    }
  }
  function selectColor(size) {
          var colorMenu = document.getElementById('colorMenu');
          if(colorMenu == null)
            return;
          var ajax = new AjaxAsynch();
            ajax.complete = function(status,statusText, responseText, responseXML) {
              var responce = responseXML.documentElement.getElementsByTagName("response")[0];
              var colors = responce.childNodes;
              colorMenu.length = 0;
              for(i = 0; i < colors.length; i++) {
                var color = colors[i]; 
                colorMenu.options.add(new Option(color.getAttribute('name') , color.getAttribute('id') )); 
              }
              return true;
            }
       var url = "ajax.php?action=get_color&products_id=" + gProductID + "&sizes_id=" + size;
       ajax.call(url);
  }


  var recommendedProducts = null;
  function onMainSizeChanged(size) {
    recommendedProducts = document.getElementsByName("recommendedProduct");
    for(i=0; i <recommendedProducts.length; i++) {
      var productID = recommendedProducts[i].value;
      var recommendedSizeMenu = document.getElementById("sizeMenu_" + productID)
      recommendedSizeMenu.value=size;
    }
  }
  

  function populateColors(productID,sizeValue, colorMenuID) {
    var colorMenu = document.getElementById(colorMenuID);
    if(colorMenu == null) return;
      var ajax = new AjaxAsynch();
            ajax.complete = function(status,statusText, responseText, responseXML) {

              var request = responseXML.documentElement.getElementsByTagName("request")[0];
              var responce = responseXML.documentElement.getElementsByTagName("response")[0];
              var colorMenuID = request.getElementsByTagName("color_menu")[0].getAttribute("value");
              var colorMenu = document.getElementById(colorMenuID)
              var colors = responce.childNodes;
              colorMenu.length = 0;
              for(i = 0; i < colors.length; i++) {
                var color = colors[i]; 
                colorMenu.options[i] = new Option(color.getAttribute('name') , color.getAttribute('id') ); 
              }
              return true;
            }
       var url = "ajax.php?action=get_color&products_id=" + productID + "&sizes_id=" + sizeValue + "&color_menu=" + colorMenuID;
       ajax.call(url);
  }
  

//   add item to shopping cart
  // and related functions
  function createBorder(formObj){
    var masterImageDiv = document.getElementById('masterImageDiv');
    var obj = document.createElement('div');
    obj.style.position ='absolute';
    document.getElementById('masterImageDiv').parentNode.appendChild(obj);
    obj.style.display  = 'block';
    obj.style.border = 'black solid 1px';
    pos = findPos(masterImageDiv);
    obj.style.left = pos[0];
    obj.style.top = pos[1];
    obj.style.width = 200;
    obj.style.height = 170;
    return obj;
  }
  function buyItem(formObj){
    var trans = new Transition();
    var border = createBorder();
    trans.done = function() {
      border.parentNode.removeChild(border); 
      addToCart(formObj);
    }
    trans.setObject(border);
    trans.setEndPosition(800,20);
    trans.setEndSize(0,0);
    trans.setSteps(15);
    trans.move();
  }
  
  function addToCart(formObj) {
    var ajax = new AjaxAsynch();
    var label = document.getElementById('shoppingCartLabel');
    ajax.complete = function(status,statusText, responseText, responseXML) {
      var response = responseXML.documentElement.getElementsByTagName("add_to_cart")[0];
      if(response.getAttribute("status") == "ok") {
        var items = response.getAttribute("items");
        label.className = "headerNavigationTopRed";
        label.innerHTML = "Shopping Cart (" + items + ((items > 1) ? " items)" : " item)") + " | Checkout";
        popMsg();
      }
    }
    var url = "ajax.php?action=add_to_cart&products_id=" + gProductID + "&" + gCookie;
    if(document.getElementById('colorMenu') != null)
      url += "&color_id=" + document.getElementById('colorMenu').value;
    if(document.getElementById('sizeMenu') != null)
      url += "&size_id=" + document.getElementById('sizeMenu').value;
    ajax.call(url);   
  }
  
  function addRecommendedToCart(productID) {
    var ajax = new AjaxAsynch();
    var label = document.getElementById('shoppingCartLabel');
    ajax.complete = function(status,statusText, responseText, responseXML) {
      var response = responseXML.documentElement.getElementsByTagName("add_to_cart")[0];
      if(response.getAttribute("status") == "ok") {
        var items = response.getAttribute("items");
        label.className = "headerNavigationTopRed";
        label.innerHTML = "Shopping Cart (" + items + ((items > 1) ? " items)" : " item)") + " | Checkout";
        var msgdiv = document.getElementById('div_added_' + productID);
        if(msgdiv){
          msgdiv.style.visibility = 'visible';
          window.setTimeout(function(){document.getElementById('div_added_' + productID).style.visibility='hidden';},2000);
        }
      }
    }
    var url = "ajax.php?action=add_to_cart&products_id=" + productID + "&" + gCookie;
    var productColorMenu = document.getElementById('colorMenu_'+productID);
    var productSizeMenu = document.getElementById('sizeMenu_'+productID);
    if( productColorMenu)
      url += "&color_id=" + productColorMenu.value;
    if(productSizeMenu)
      url += "&size_id=" + productSizeMenu.value;
    ajax.call(url);   
  }
  
  var boxPoped = false;
  function popMsg() {
    if(boxPoped) return;
    boxPoped = true;
    var greenMsgBox = document.getElementById('greenMsgBox');
    greenMsgBox.style.visibility = 'visible';
    window.setTimeout(function(){document.getElementById('greenMsgBox').style.visibility='hidden';},3000);
  }

function popupWindow(url) {
  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=300,height=300,screenX=150,screenY=150,top=150,left=150')
}
function popupWindow2(url) {
  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=400,height=600,screenX=50,screenY=50,top=50,left=50')
}
function bookmarksite(title, url){
	if (document.all)
		window.external.AddFavorite(url, title);
	else if (window.sidebar)
		window.sidebar.addPanel(title, url, "")
}

function ClearBox(obj,text) {
	if(obj.value == text) 
		obj.value = '';
}

function CheckEmail(email) {
	at = email.indexOf('@');
	dot = email.indexOf('.');
	if(at > 0 && dot > 3 && at + 2 < dot)
		return true;
	return false;
}

function ApproveEmail(email) {
  window.open('newsletter_subscribe.php?email=' + email,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=500,height=200,screenX=250,screenY=250,top=250,left=250');
}

function SubmitEmail() {
	email = document.forms['submit_email']['email'].value;
	if(CheckEmail(email)){
		ApproveEmail(email);
		document.forms['submit_email'].submit();
	}
	else
		alert("Please provide valid email.\n Thank you");
}

function setOpacity(obj, op) {
  obj.style.filter = "alpha(opacity='" + op + "')";
  obj.style.opacity = op / 100.;
}


function imgOver(img) {
  var masterImageDiv = document.getElementById('masterImageDiv');
  var swapImageDiv = document.getElementById('swapImageDiv');
  if(document.swap_img.src == img.src || document.master_img.src == img.src )
    return; 
  var pos = findPos(masterImageDiv);
  swapImageDiv.style.pixelLeft  = pos[0];
  swapImageDiv.style.pixelTop = pos[1];
  
  document.swap_img.src = img.src;
  swapImageDiv.style.width = masterImageDiv.clientWidth;
  swapImageDiv.style.pixelWidth = masterImageDiv.offsetWidth;
  swapImageDiv.style.width = masterImageDiv.offsetWidth;
  setOpacity(swapImageDiv,20);
  setOpacity(masterImageDiv,80);
  swapImageDiv.style.display = "block";

  setTimeout('swap(10)',10);
  
}

function swap(op) {
  var masterImageDiv = document.getElementById('masterImageDiv');
  var swapImageDiv = document.getElementById('swapImageDiv');
    op += 30;
    if(op < 100) {
      setOpacity(swapImageDiv,op);
      setOpacity(masterImageDiv,100 - op);
      setTimeout('swap(' + op + ')',100);
    } else {
		  document.master_img.src=document.swap_img.src ;
      setOpacity(masterImageDiv,100);
      swapImageDiv.style.display = "none";
}
}

function findPos(obj) {
  var curleft = curtop = 0;
  while (obj != document.body) {
    curleft += obj.offsetLeft;
    curtop += obj.offsetTop;
    obj = obj.offsetParent;
  }
  return [curleft,curtop];
}
function imgOut() {
}
window.onload=OnSizeChanged;