// cartlinks.js
// This js contains the functions for creating links related to the cart at the 
// right side of the header
// author Rajib Das < rajirdas@in.ibm.com >
// Updated by Huge for reskin project 03/06/11
// Note: Pls take extreme care while modyfying 
//
function displayMiniCartLink() {
	var TempHost=location.host;
	var hasLoginCookie = -1 ;
	var hasLoginCookieValue;
	
	var hasClientIDCookie = document.cookie.indexOf("ClientId=");
	var hasMiniCartCookie = document.cookie.indexOf("MiniCart=");
	var hasActiveIdCookie = document.cookie.indexOf("ACTIVEORDERID=");
	var hasCountryCookie  = document.cookie.indexOf("country=");
	var hasCustomItemCountCookie = document.cookie.indexOf("CustomItemCount=");

	var sialSiteDefIndex = document.cookie.indexOf("SialSiteDef=");
	if(sialSiteDefIndex != -1){
		sialSiteDefIndex = sialSiteDefIndex + 12;
		var sialSiteDefEndIndex = document.cookie.indexOf(";",sialSiteDefIndex);
		if(sialSiteDefEndIndex == -1){
			sialSiteDefEndIndex = document.cookie.length;
		}
		var sialSiteDefValue = document.cookie.substring(sialSiteDefIndex, sialSiteDefEndIndex);
		
		var arr = sialSiteDefValue.split("|");
		for(var i=0 ; i< arr.length ; i++){
			var tempV = arr[i];
			if(tempV.indexOf("UserID") > -1){
				var aUserIdArr = tempV.split("~");
				if("Yes" == aUserIdArr[1]){
					hasLoginCookie = 10;
					hasLoginCookieValue = tempV.substring(7);
				}
			}
		}
	}
	
	if (hasClientIDCookie != -1 || hasLoginCookie != -1 || hasCountryCookie != -1)
	{				
		if (hasMiniCartCookie != -1 || hasCustomItemCountCookie != -1){
			document.write("<li class=\"shpoppingCart\">");
			if (hasCustomItemCountCookie != -1)
			{
				var startcustomcount = hasCustomItemCountCookie + 16;	     // Start cookie value
				var endcustomcount = document.cookie.indexOf(";", startcustomcount); // End cookie value
				if (endcustomcount == -1) endcustomcount = document.cookie.length;
				var CustomItemCount = document.cookie.substring(startcustomcount, endcustomcount); //Extract value				
				document.write("<a cmCreatePageElementTag(\'CustomItems\',\'SIAL-Header\')\" href=\"https://"+TempHost+"/webapp/wcs/stores/servlet/?storeId=11001&langId=-1\" class=\"status\" title=\"Custom Items\">Custom Items</a>: <b>" + CustomItemCount + "</b> item(s),");				
			}
			
			if (hasMiniCartCookie != -1)
			{
				var startcount = hasMiniCartCookie + 9;	     // Start cookie value
				var endcount = document.cookie.indexOf(";", startcount); // End cookie value
				if (endcount == -1) endcount = document.cookie.length;
				
				var miniCartCookieVal = document.cookie.substring(startcount, endcount); //Extract value
				// decode the extracted value
				miniCartCookieVal = decodeURI(miniCartCookieVal);
				var cartCookieArray = new Array();
				cartCookieArray = miniCartCookieVal.split("|");
				var CartItemCount = "";
				var CartSubTotal = "";
				var CartCurrency = "";
				var itemCookieArray = new Array();
				var itemQuantityCookieArray = new Array();
				if (null != cartCookieArray) {
					for (var i = 0; i < cartCookieArray.length; i++) {						
						if (i == 0) {
							CartItemCount = cartCookieArray[i];
						} 
						else if (i == 1) {
							CartSubTotal = cartCookieArray[i];
						}
						else if (i == 2) {
							CartCurrency = cartCookieArray[i];
						}	
						else if (i == 3) {
							itemCookieArray = cartCookieArray[i].split("_");
						}			
					}
				}
    			
    			/* USED BY HUGE FOR TESTING PURPOSES */
				//CartItemCount = 2;

				if (CartSubTotal != "")
				{
					CartSubTotal = unescape(CartSubTotal);
					
					if (CartCurrency != "")
					{
        				document.write("<div id=\"miniCartLink\" onclick=\"minicartpopupOpen(); cmCreatePageElementTag(\'MiniCartDisplay\',\'SIAL-Header\')\" onmouseover=\"minicartSelect()\" onmouseout=\"minicartDeSelect()\"><a href=\"https://"+TempHost + buildWcsUrl("CartDisplay" , "11001") + "\" class=\"status\" title=\"Shopping Cart\">Cart (" + CartItemCount + ")</a></div>");
						
					 }
					 else{
					 	document.write("<div id=\"miniCartLink\" onclick=\"minicartpopupOpen(); cmCreatePageElementTag(\'MiniCartDisplay\',\'SIAL-Header\')\" onmouseover=\"minicartSelect()\" onmouseout=\"minicartDeSelect()\"><a href=\"https://"+TempHost + buildWcsUrl("CartDisplay" , "11001") + "\" class=\"status\" title=\"Shopping Cart\">Cart (" + CartItemCount + ")</a></div>");
					 }
				 }
				else
				{
					document.write("<div id=\"miniCartLink\" onclick=\"minicartpopupOpen(); cmCreatePageElementTag(\'MiniCartDisplay\',\'SIAL-Header\')\" onmouseover=\"minicartSelect()\" onmouseout=\"minicartDeSelect()\"><a href=\"https://"+TempHost + buildWcsUrl("CartDisplay" , "11001") + "\" class=\"status\" title=\"Shopping Cart\">Cart (" + CartItemCount + ")</a></div>");
				
				}

			}
	
			document.write("<div id=\"minicartpopup\" class=\"cartDropdown rounded clearfix\"><table cellpadding=\"0\" cellspacing=\"0\">");		
			
			if (CartItemCount < 5 ){
				document.write("<caption>Viewing "+CartItemCount+" of "+CartItemCount+"</caption>");
			} else {
				document.write("<caption>Viewing 5 of "+CartItemCount+"</caption>");
			}

			document.write("<tr><th class=\"prod\">Product Number</th><th class=\"qty\">Quantity</th></tr>");
			
			if(null != itemCookieArray){
				for (var i = 0; i < itemCookieArray.length && i < 5; i++) {
					itemQuantityCookieArray = itemCookieArray[i].split("~");

					document.write("<tr><td class=\"prod first\">"+itemQuantityCookieArray[0]+"</td><td class=\"qty first\">"+Math.abs(itemQuantityCookieArray[1])+"</td></tr>");
					//document.write("<tr><td class=\"prod first\">Product 1</td><td class=\"qty first\">1</td></tr>");
				}
			}
			
		    document.write("</table>");			

			if (hasActiveIdCookie == -1){
				document.write("<div class=\"cartButtons clearfix\">");
				document.write("<a href=\"#\" class=\"viewCart\" onclick=\"minicartURL(\'https://"+TempHost+"/webapp/wcs/stores/servlet/CartDisplay?storeId=11001\'); cmCreatePageElementTag(\'ViewMiniCart\',\'SIAL-Header\')\">View Cart</a>");
				document.write("<a href=\"#\" class=\"cancelCart\" onclick=\"cancelShoppingCart();\">Cancel Cart</a>");
				
			} else {
				document.write("<div class=\"cartButtons clearfix\">");
				document.write("<a href=\"#\" class=\"viewCart\" onclick=\"minicartURL(\'https://"+TempHost+"/webapp/wcs/stores/servlet/CartDisplay?storeId=11001\'); cmCreatePageElementTag(\'ViewMiniCart\',\'SIAL-Header\')\">View Cart</a>");
				document.write("<a href=\"#\" class=\"cancelCart\" onclick=\"cancelShoppingCart();\">Cancel Cart</a>");
				
			}
			document.write("</div>");
			document.write("</div>");
			document.write("</li>");
		}
	 }

	 var miniCartLinkNode1=document.getElementById('minicartpopup');
	 if (miniCartLinkNode1!=null) {
		 // miniCartLinkNode1.style.top = '10%';
		 // miniCartLinkNode1.style.left = '74%';	
	 }
}

	displayMiniCartLink();
	 	 
	function minicartpopupOpen(){
	    var SearchLanguageID = document.getElementById('minicartpopup');
	    if (SearchLanguageID != null){
			SearchLanguageID.style.visibility = 'visible';
		}
		 var vewCart=document.getElementById('vewCart');
		if (vewCart != null) {
			 vewCart.focus();
		}
	 }
	function minicartpopupClose(){
		var SearchLanguageID = document.getElementById('minicartpopup');
	    if (SearchLanguageID != null){
			SearchLanguageID.style.visibility = 'hidden';
		}
	 }
	function minicartSelect(){
		var miniCartLinkID = document.getElementById('miniCartLink');
		if(miniCartLinkID != null){
			miniCartLinkID.style.borderBottomColor= 'black';
		}
	 }
	function minicartDeSelect(){
		var miniCartLinkID = document.getElementById('miniCartLink');
		if(miniCartLinkID != null){
			miniCartLinkID.style.borderBottomColor= 'white';
		}
	 }
	function cancelShoppingCart(){
		window.scrollTo(0,0);
		//minicartpopupClose();
		cancelPopUp(true,'','');			
		return;			
	 }
	
	function cancelPopUp(vis, options, extra) {
	  options = options || {};
	  var zindex = options.zindex || 50;
	  var opacity = options.opacity || 70;
	  var opaque = (opacity / 100);
	  var bgcolor = options.bgcolor || '#000000';
	  var dark=document.getElementById('darkenScreenObject');
	  if (!dark) {
	    // The dark layer doesn't exist, it's never been created.  So we'll
	    // create it here and apply some basic styles.
	    // If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917
	    var tbody = document.getElementsByTagName("body")[0];
	    var tnode = document.createElement('div');           // Create the layer.
	        tnode.style.position='absolute';                 // Position absolutely
	        tnode.style.top='0px';                           // In the top
	        tnode.style.left='0px';                          // Left corner of the page
	        tnode.style.overflow='hidden';                   // Try to avoid making scroll bars
	        tnode.style.display='none';                      // Start out Hidden
	        tnode.id='darkenScreenObject';                   // Name it so we can find it later
	
	        var msgnode = document.createElement('div');           // Create the box layer.
	                msgnode.style.position='absolute';                 // Position fixed
	        msgnode.style.display='none';                      // Start out Hidden
	        msgnode.id='box';                                                   // Name it so we can find it later
                // give it a size and align it to center
                msgnode.style.width = "350px";
                msgnode.style.height = "300px";
                msgnode.style.marginleft= "-150px";
                msgnode.style.margintop= "-150px";
                msgnode.style.textAlign = 'center';
                msgnode.style.top= "35%";                           // In the top - works for Mozilla not for IE
                msgnode.style.left= "35%";                          // Left corner of the page - works for Mozilla not for IE
	        tbody.appendChild(msgnode);                            // Add it to the grey screen
	    tbody.appendChild(tnode);                            // Add it to the web page
	    dark=document.getElementById('darkenScreenObject');  // Get the object.
	  }
	  if (vis) {
	    // Calculate the page width and height
	    if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
	        var pageWidth = document.body.scrollWidth+'px';
	        var pageHeight = document.body.scrollHeight+'px';
	    } else if( document.body.offsetWidth ) {
	      var pageWidth = document.body.offsetWidth+'px';
	      var pageHeight = document.body.offsetHeight+'px';
	    } else {
	       var pageWidth='100%';
	       var pageHeight='100%';
	    }
	    //set the shader to cover the entire page and make it visible.
	    dark.style.opacity=opaque;
	    dark.style.MozOpacity=opaque;
	    dark.style.filter='alpha(opacity='+opacity+')';
	    dark.style.zIndex=zindex;
	    dark.style.backgroundColor=bgcolor;
	    dark.style.width= pageWidth;
	    dark.style.height= pageHeight;
	    dark.style.display='block';
        if(extra == 'Y')
                document.body.style.overflow =  'hidden';
        document.getElementById("box").style.zIndex = zindex+10;
        document.getElementById("box").style.border = "#000 solid 1px";
        document.getElementById("box").style.display = "block";
		document.getElementById("box").style.height = "auto";
        document.getElementById("box").style.backgroundColor="#FFF";
 
	     var ver = getInternetExplorerVersion();
		 if ( ver > -1 && ver < 7)
		 {    
			var elements = document.getElementsByTagName("select");		
	        for (e = 0; e < elements.length; e++)
	        {		
	            elements[e].disabled = 'disabled';
				elements[e].style.backgroundColor = '#4C4C4C';           
	        }
		}

		var overlayContent = "<HTML><HEAD>"+
        	" </HEAD><BODY><br><br><b>Are you sure you want to Cancel?</b><br><br>"+
        	"<center><input class=\"button03\" type=\"button\" id=\"closediv\" name=\"closediv\" value=\"Yes\""+
        	"onClick=\"minicartURL(\'https://"+TempHost+"/webapp/wcs/stores/servlet/OrderCancel?storeId=11001\'); cmCreatePageElementTag(\'ViewCartOverlay\',\'SIAL-Header\')\"> <\/input>&nbsp;&nbsp;&nbsp;&nbsp;"+
        	"<input class=\"button03\" type=\"button\" id=\"closediv\" name=\"closediv\" value=\"No\""+
        	"onClick=\"overlay();\"> <\/input>"+
        	"</center><BR><BR><BR></BODY></HTML>";	      	
        document.getElementById("box").innerHTML = overlayContent;
		} 
		else{
	    	dark.style.display='none';
	  	}
	}

    function overlay(){

    document.getElementById("box").style.display = "none";
    document.getElementById('darkenScreenObject').style.display="none";
    document.body.style.overflow = 'auto';
	
	//Start:AL-10-00032: In IE6 the dropdown list box was not graying out unlike other elements.Adding the IE6 specific code to dissable all the dropdown list on the form,
    // when overlay box is being displayed:Enable the dropdown boxes when overlay box has been closed and IE version is less than 7.
	var ver = getInternetExplorerVersion();
	if ( ver > -1 && ver < 7)		
	{  		
			
	   var elements = document.getElementsByTagName("select");				
	   for (e = 0; e < elements.length; e++)
		{				
				elements[e].disabled = '';
				elements[e].style.backgroundColor = '#FFFFFF';            		
		}   
	} 
	//End:AL-10-00032

    }

	//Start:AL-10-00032: In IE6 the dropdown list box was not graying out unlike other elements.Adding the IE6 specific code to dissable all the dropdown list on the form,
     // when overlay box is being displayed : To get the IE version.		
	function getInternetExplorerVersion()
	// Returns the version of Internet Explorer or a -1
	// (indicating the use of another browser).
	{
	  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;
	}
	//End:AL-10-00032
	
	function minicartURL(url){
		if(parent.frames != null){
      		if (parent.frames.length > 0){
			self.location=url;
			} else {	
				top.location=url;
			}
		} else {
      		top.location=url;
		}
	}	 
