﻿var currspnExist, currspnInProgress
var PackageArray = new Array();
var SpanArray = new Array();
var current_event;
var current_X,current_Y;
var PackageArrayCount = 0;
var SpanArrayCount = 0;
var offsxy = 6;

var ua = navigator.userAgent;
var dom = (document.getElementById) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var ie5_5 = ((ua.indexOf("MSIE 5.5")>=0 || ua.indexOf("MSIE 6")>=0) && ua.indexOf("Opera")<0) ? true : false;
var ns4 = (document.layers && !dom) ? true : false;
var MAX = 1;

var ServiceArray = new Array();
function Service(ServiceCode,ServiceName)
{
    this.ServiceCode = ServiceCode
    this.ServiceName = ServiceName
    return this
}

		
function AddToCart(spnExist, spnCartButton, spnInProgress, ServiceCode, PackageCode, PackageDescription, PackagePrice)
{
    document.getElementById(spnInProgress).style.display = ""
    document.getElementById(spnCartButton).style.display = "none"
    currspnExist = spnExist;
    currspnInProgress = spnInProgress;
    AddPackage(ServiceCode, PackageCode, PackageDescription, PackagePrice)
}
function AddPackage(ServiceCode, PackageCode, PackageDescription, PackagePrice)
{
    //document.getElementById("cloadimg").style.visibility = "none";
    //alert(document.getElementById("cloadimg").style.visibility);
    //document.getElementById("cloadimg").style.display = "block";
    //alert("yes");
    XmlReq = CreateXmlReq();
    var requestUrl = "AddPackage.aspx?dtype=company";
    var str = ServiceCode + ":" + PackageCode + ":" + PackageDescription + ":" + PackagePrice;
//	alert(str);
    PackageArray[PackageArrayCount] = new Package(str);		
	PackageArrayCount++;
	document.getElementById("hdnCartCount").value = parseInt(document.getElementById("hdnCartCount").value) + 1;
	document.getElementById("hdnCartTotal").value = parseFloat(document.getElementById("hdnCartTotal").value) + parseFloat(PackagePrice);
    if(XmlReq)
	{
		XmlReq.onreadystatechange = HandleCart;
		XmlReq.open("POST", requestUrl);
		XmlReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		XmlReq.send("ServiceCode=" + ServiceCode + "&PackageCode=" + PackageCode + "&PackageDescription=" + PackageDescription + "&PackagePrice=" + PackagePrice);	
		//alert("mtype=" + mtype + "&sid=" + sid + "&qty=" + qty);
		//alert("companies=" + document.form1.cvars.value + "&plant=" + document.form1.pvars.value + "&process=" + document.form1.prvars.value + "&product=" + document.form1.prodvars.value + "&trade=" + document.form1.tvars.value + "&market=" + document.form1.mvars.value);
	}
}
function RemoveItem(ServiceCode, PackageCode)
{
    XmlReq = CreateXmlReq();
    var requestUrl = "RemovePackage.aspx?dtype=company";
    if(XmlReq)
	{
		XmlReq.onreadystatechange = RemoveCart;
		XmlReq.open("POST", requestUrl);
		XmlReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		XmlReq.send("PackageCode=" + PackageCode);	
		//alert("mtype=" + mtype + "&sid=" + sid + "&qty=" + qty);
		//alert("companies=" + document.form1.cvars.value + "&plant=" + document.form1.pvars.value + "&process=" + document.form1.prvars.value + "&product=" + document.form1.prodvars.value + "&trade=" + document.form1.tvars.value + "&market=" + document.form1.mvars.value);
	}
    if(document.getElementById("hdnServiceCode").value == ServiceCode)
    {
        for (i=0;i<SpanArray.length;i++)
        {
            if (SpanArray[i]["PackageCode"] == PackageCode)
            {
                document.getElementById(SpanArray[i]["Added"]).style.display = "none"
                document.getElementById(SpanArray[i]["Cart"]).style.display = ""
            }
        }
    }
    var TempArray = new Array();
    PackageArrayCount = 0;
    for(j=0; j<PackageArray.length; j++)
	{
	    if (PackageArray[j]["PackageCode"] != PackageCode)
	    {
	        TempArray[PackageArrayCount] = PackageArray[j];
	        PackageArrayCount++;
	    }
	    else
	    {
            document.getElementById("hdnCartCount").value = parseInt(document.getElementById("hdnCartCount").value) - 1;
	        document.getElementById("hdnCartTotal").value = parseFloat(document.getElementById("hdnCartTotal").value) - parseFloat(PackageArray[j]["PackagePrice"]);
	        document.getElementById("CatTotalItems").innerHTML = document.getElementById("hdnCartCount").value;
	    }
	}
	PackageArray = new Array();
	PackageArray = TempArray;
	DisplayPackages();
}
function HandleCart()
{
    if(XmlReq.readyState==4)
    {
        if(XmlReq.status==200)
        {
            document.getElementById(currspnInProgress).style.display = "none"
            document.getElementById(currspnExist).style.display = ""
            DisplayPackages();
        }
    }
}
function RemoveCart()
{
}
function SetPackages()
{   var PackageStr = document.getElementById("hdnCartPackages").value;
    if (PackageStr != "")
    {	
	    var PackageSplit = PackageStr.split(":::");
	    if (PackageSplit.length > 0)
	    {
		    for (i=0; i<PackageSplit.length; i++)
		    {
			    PackageArray[PackageArrayCount] = new Package(PackageSplit[i])			
			    PackageArrayCount++;
		    }
	    }
    }
	else
		return;
}

function SetSpanIds()
{   var SpanStr = document.getElementById("hdnSpnIds").value;
    if (SpanStr != "")
    {	
	    var SpanSplit = SpanStr.split(":::");
	    if (SpanSplit.length > 0)
	    {
		    for (i=0; i<SpanSplit.length; i++)
		    {
			    SpanArray[SpanArrayCount] = new SpanId(SpanSplit[i])			
			    SpanArrayCount++;
		    }
	    }
    }
	else
		return;
}
function Package(sString)
{
	var sStr = sString.split(":")
	if (sString != '')
	{
	    if (sStr.length > 0)
	    {
	        this.ServiceCode = sStr[0];
	        this.PackageCode = sStr[1];
	        this.PackageName = sStr[2];
	        this.PackagePrice = sStr[3];
	        return this;
	    }
	}
}
function SpanId(sString)
{
	var sStr = sString.split(":")
	if (sString != '')
	{
	    if (sStr.length > 0)
	    {
	        this.PackageCode = sStr[0];
	        this.Cart = sStr[1];
	        this.Added = sStr[2];
	        return this;
	    }
	}
}
function setBox()
		{
			e = current_event;
			var curleft = curtop = 0;
			
			obj = document.getElementById("cartimg")
			
			if (obj.offsetParent) 
			{
				curleft = obj.offsetLeft
				curtop = obj.offsetTop
				while (obj = obj.offsetParent) 
				{
					curleft += obj.offsetLeft
					curtop += obj.offsetTop
				}
				curleft -= 130
				curtop +=113
				//curleft += 205
				//curtop -=42
			}
			var tooltip = atooltip();
			e = e?e:window.event;

			var mx = current_X;
			var my = current_Y;

			var bodyl = (window.pageXOffset) ? window.pageXOffset : document.body.scrollLeft;
			var bodyt = (window.pageYOffset) ? window.pageYOffset : document.body.scrollTop;
			var bodyw = (window.innerWidth)  ? window.innerWidth  : document.body.offsetWidth;
			if (ns4) {
				//tooltip.document.write(tip);
				//tooltip.document.close();
				if ((mx + offsxy + bodyl + tooltip.width) > bodyw) { mx = bodyw - offsxy - bodyl - tooltip.width; if (mx < 0) mx = 0; }
				tooltip.left = curleft;
				tooltip.top = curtop;
			}
			else {
				//tooltip.innerHTML = tip;
				if (tooltip.offsetWidth) if ((mx + offsxy + bodyl + tooltip.offsetWidth) > bodyw) { mx = bodyw - offsxy - bodyl - tooltip.offsetWidth; if (mx < 0) mx = 0; }
				tooltip.style.left = curleft+"px";
				tooltip.style.top  = curtop+"px";
				//tooltip.style.height="1px";
				//tooltip.style.left = "20px";
				//tooltip.style.top  = "20px";
			}
		}
function DisplayPackages()
{
    var tooltip = atooltip();
	var counting = document.getElementById("hdnCartCount").value;
	var stotal = document.getElementById("hdnCartTotal").value;
	
	var txt = '<table border="0" cellspacing="0" cellpadding="0" bgcolor="#024FC4" width="100%"><tr><td width="100%"><table border="0" cellpadding="2" cellspacing="0" bgcolor="#024FC4" width="100%"><td class="defaultfont" align="left"><font color=#ffffff size=2><b>Your cart</b></font></td><td><p align="right">';
    if (MAX ==1)
	{
		txt = txt + '<a href="javascript:Minimize();"><img border="0" src="images/up_arr.gif" width="15" height="15"></a>';
	}
	else
	{
		txt = txt + '<a href="javascript:Maximize();"><img border="0" src="images/down_arr.gif" width="15" height="15"></a>';
	}
	txt = txt + '<img src="images/pixel_trans.gif" width="2" height="2"><a href="javascript:hmhidePopup();"><img border="0" src="images/popup_close.gif"  width="15" height="15"></a></td></tr></table></td></tr>';
	if (MAX==1)
	{
	    
	    if (PackageArray.length > 0)
	    {
	        txt= txt + "<tr><td><table width='100%'cellpadding='3' cellspacing='0'>";
	        
	        for (i=0; i<ServiceArray.length; i++)
	        {
	            txtTemp = "";
	            exitFlag = 0;
	            odd = 1;
	            for(j=0; j<PackageArray.length; j++)
	            {
	                //alert(PackageArray[j]["ServiceCode"]);
	                //alert(ServiceArray[i]["ServiceCode"] + "  " + PackageArray[j]["ServiceCode"]);
	                
	                if (ServiceArray[i]["ServiceCode"] == PackageArray[j]["ServiceCode"])
	                {
	                    exitFlag = 1;
	                    if (odd ==1)
	                    {
	                        odd = 0;
	                        txtTemp = txtTemp + "<tr bgcolor='#A0B4FC'>";
	                    }
	                    else{
	                        odd = 1;
	                        txtTemp = txtTemp + "<tr bgcolor='#B6C5FC'>";
	                    }
	                    txtTemp = txtTemp + "<td class='defaultfont'><b>" + PackageArray[j]["PackageCode"] + "</b></td>";
	                    txtTemp = txtTemp + "<td class='defaultfont' width='250'>" + PackageArray[j]["PackageName"] + "</td>";
	                    txtTemp = txtTemp + "<td class='defaultfont' align='right'>$" + formatCurrency(PackageArray[j]["PackagePrice"]) + "</td>";
	                    txtTemp = txtTemp + "<td><a href=\"javascript:RemoveItem('" + PackageArray[j]["ServiceCode"] + "','" + PackageArray[j]["PackageCode"] + "');\" alt='Remove Item' ><img src='images/remove.jpg' border='0'></a></td>";
	                    txtTemp = txtTemp + "</tr>";
	                }
	            }
	            if (exitFlag == 1)
	            {
                    txt = txt + "<tr><td colspan='4' bgcolor='#305BFB' class='defaultfont'><font color='#ffffff'>" + ServiceArray[i]["ServiceName"] + "</font></td></tr>";
                    txt = txt + txtTemp;
	            }
	        }
	        txt= txt + "</table></td></tr>";
	    }
	}
	else
	{
	}
	txt = txt + '<tr><td bgcolor="#CCE4FE"><table cellspacing="0" cellspadding="0" width="100%"><tr><td class="defaultfont" align="left" nowrap width="200">&nbsp;&nbsp;<b>' + counting + ' Items in cart</b></td><td class="defaultfont" align="right" nowrap><b>&nbsp;&nbsp;Subtotal : $' + formatCurrency(stotal) + '</b></td></table></td></tr><tr bgcolor="#ffffff"><td ><img src="images/pixel_trans.gif" height="1" width"1"></td></tr>'
	txt = txt + '</table>';
	if (MAX == 1)
	{
		var tip = '<table  border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="{border-width:1px; border-color:#B2AAA4; border-collapse:collapse;}" ><tr valign=top><td><table cellpadding=0 cellspacing=0 border=0 width="100%"><tr valign=top><td>' + txt + '<\/td><\/tr></table></td></tr><tr><td bgcolor="#2F62D7"><table align="center"><tr><td><a href="shoppingcart.aspx" class="header"><img src="images/CheckoutSmall.gif" border ="0"></a></td><td></td></tr></table></td></tr><\/table><img src="images/pixel_trans.gif" width="1" height="1" id="imgBoxEnd">';
	}
	else
	{
		var tip = '<table  border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="{border-width:1px; border-color:#B2AAA4; border-collapse:collapse;}" ><tr valign=top><td><table cellpadding=0 cellspacing=0 border=0 width="100%"><tr valign=top><td>' + txt + '<\/td><\/tr></table></td></tr><tr><td><img src="images/pixel_trans.gif" width="185" height="1"></td></tr><\/table><img src="images/pixel_trans.gif" width="1" height="1" id="imgBoxEnd">';
	}
	if (ns4) 
	{
		tooltip.document.write(tip);
		tooltip.document.close();
	}
	else 
	{
	    tooltip.innerHTML = tip;
	}
	document.getElementById("CatTotalItems").innerHTML = document.getElementById("hdnCartCount").value;
	with(tooltip) { ns4 ? visibility="show" : style.visibility="visible" }
}
function atooltip(){
    return ns4 ? document.hmpopupDiv : ie4 ? document.all.hmpopupDiv : document.getElementById('hmpopupDiv')
}
function hmhidePopup() 
{
	var tooltip = atooltip();
	ns4 ? tooltip.visibility="hide" : tooltip.style.visibility="hidden";
	if (visibleWindow == 1)
	{
		visibleWindow = 0
	}
	else
		visibleWindow = 0
}
function Maximize()
{
	MAX = 1;
	DisplayPackages();
}

function Minimize()
{
	MAX = 0;
	DisplayPackages();
}
function CreateXmlReq()
{
    var objXmlReq;
	try
	{
		objXmlReq = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			objXmlReq = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch(oc)
		{
			objXmlReq = null;
		}
	}
	if(!objXmlReq && typeof XMLHttpRequest != "undefined") 
	{
		objXmlReq = new XMLHttpRequest();
	}
	return objXmlReq;
	
}
function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + num + '.' + cents);
}

function FloatBox()
{
	//alert("yes");
	var pY, bY;
	var wH;
	var ObjBox = document.getElementById("hmpopupDiv");
	var ObjEnd = document.getElementById("imgEnd");
	var ObjBoxEnd = document.getElementById("imgBoxEnd");
	var curleft = curtop = endY = endBoxY = 0;
	
	if (window.innerHeight) 
	{
		wH=window.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight) 
	{
		wH=document.documentElement.clientHeight;
	}
	else if (document.body) 
	{
		wH=document.body.clientHeight;
	}

	pY = (navigator.appName.indexOf("Netscape")!=-1)?pageYOffset:document.body.scrollTop;
	if (ObjBox.offsetParent) 
	{
		curleft = ObjBox.offsetLeft
		curtop = ObjBox.offsetTop
		while (ObjBox = ObjBox.offsetParent) 
		{
			curleft += ObjBox.offsetLeft
			curtop += ObjBox.offsetTop
		}
		//curleft += 20
		curtop +=15
	}
	if (ObjEnd.offsetParent) 
	{
		endY = ObjEnd.offsetTop
		while (ObjEnd = ObjEnd.offsetParent) 
		{
			endY += ObjEnd.offsetTop
		}
		//curleft += 20
		endY +=15
	}
	if (ObjBoxEnd.offsetParent) 
	{
		endBoxY = ObjBoxEnd.offsetTop
		while (ObjBoxEnd = ObjBoxEnd.offsetParent) 
		{
			endBoxY += ObjBoxEnd.offsetTop
		}
		//curleft += 20
		endBoxY +=5
	}
	ObjBox = document.getElementById("hmpopupDiv");
	
	if ((curtop >= pY) && (endBoxY <= (pY + wH)))
	{
		setTimeout("FloatBox()",1000);
	}
	else
	{
		if (pY < 70)
			pY = 70;
        
		dd.elements.hmpopupDiv.moveTo(dd.elements.hmpopupDiv.x,pY);
		//clearDHTML();
		//SET_DHTML("hmpopupDiv");]
		setTimeout("FloatBox()",100);
	}
	
}
