﻿// Begin General
function CheckString(string)
{
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
}

var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,total,thestring;

if (CheckString('konqueror'))
{
	browser = "Konqueror";
	OS = "Linux";
}
else if (CheckString('safari')) browser = "Safari"
else if (CheckString('omniweb')) browser = "OmniWeb"
else if (CheckString('opera')) browser = "Opera"
else if (CheckString('webtv')) browser = "WebTV";
else if (CheckString('icab')) browser = "iCab"
else if (CheckString('msie')) browser = "IE"
else if (!CheckString('compatible'))
{
	browser = "Netscape Navigator"
	version = detect.charAt(8);
}
else browser = "An unknown browser";

if (!version) version = detect.charAt(place + thestring.length);

if (!OS)
{
	if (CheckString('linux')) OS = "Linux";
	else if (CheckString('x11')) OS = "Unix";
	else if (CheckString('mac')) OS = "Mac"
	else if (CheckString('win')) OS = "Windows"
	else OS = "an unknown operating system";
}

function TrimString(sInString) {
  sInString = sInString.replace( /^\s+/g, "" );// strip leading
  return sInString.replace( /\s+$/g, "" );// strip trailing
}

function SetPosition(layer,intX,intY) {
	strX = String(intX);
	strY = String(intY);
	layer.style.top = intY + (strY.indexOf("px") == -1 ? "px" : "");
	layer.style.left = intX + (strX.indexOf("px") == -1 ? "px" : "");
}

function OnTimeout(result) 
{
    alert("Your request timed out.");
}

function AddCommasForUSCurrency(val)
{
	val += '';
	if(val != "null")
	{
		x = val.split('.');
		x1 = x[0];
		x2 = null;
		if(x.length == 1)
			x2 = ".00";
		else
		{
			if(x[1] < 10)
				x2 = "." + x[1] + "0";
			else
				x2 = "." + x[1];
		}	
		var rgx = /(\d+)(\d{3})/;
		while (rgx.test(x1)) {
			x1 = x1.replace(rgx, '$1' + ',' + '$2');
		}
		
		return x1 + x2;
	}
	else
		return "0.00";
}

function RegisterStartupScript(text)
{
    var sScript = document.createElement("div");
    sScript.innerHTML = text;
    document.getElementsByTagName("body")[0].appendChild(sScript);
}

// Begin Cart Object
var CartObject = new Object();
CartObject.Moving = false;
CartObject.ObjTimer;
CartObject.LayerOpen = false;
CartObject.Left = "281px";
CartObject.TopOffset = 100;
CartObject.ScrollIncrement = 10;
CartObject.ScrollTimout = 2;
CartObject.TopEndingPosition = 126;

CartObject.InitializeObjects = function(objectID,iframeID)
{
	CartObject.ObjectLayer = ReturnObjById(objectID);
	CartObject.IFrameObject = ReturnObjById(iframeID);
	CartObject.IFrameObject.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
	SetPosition(CartObject.ObjectLayer,CartObject.Left,-210+'px');
	SetPosition(CartObject.IFrameObject,CartObject.Left,-210+'px');
}

CartObject.Toggle = function()
{        
	if(CartObject.LayerOpen)
	{
		CartObject.Close();
	}
	else
	{
		CartObject.ResetPosition();
		CartObject.Open();
	}
}

CartObject.ProductsAdded = function()
{
    if(!CartObject.LayerOpen)
    {
        CartObject.Toggle();
    }
}

CartObject.ResetPosition = function()
{
    SetPosition(CartObject.ObjectLayer,'-200px','0px');
	CartObject.ObjectLayer.style.display = "inline";
	var tpx = CartObject.ObjectLayer.style.top;
	var t = Number(tpx.substring(0,tpx.indexOf("px")));
	t = (t - CartObject.ObjectLayer.offsetHeight) + CartObject.TopOffset;				
	CartObject.ObjectLayer.style.display = "none";
	SetPosition(CartObject.ObjectLayer,CartObject.Left,t+'px');
}

CartObject.Open = function()
{
    window.scrollTo(0,0);
    CartObject.Moving = true;
    CartObject.ObjectLayer.style.display = "inline";
    var objectTopPosition = Number(CartObject.ObjectLayer.style.top.substring(0, CartObject.ObjectLayer.style.top.indexOf("px")));  
    
    if(objectTopPosition < (CartObject.TopEndingPosition - CartObject.ScrollIncrement))
    {         
        SetPosition(CartObject.ObjectLayer, CartObject.Left, Number(objectTopPosition + CartObject.ScrollIncrement) + 'px');   
        CartObject.MakeIFrameMirrorMiniCart();    
        CartObject.ObjTimer = setTimeout("CartObject.Open()", CartObject.ScrollTimout);
    }
    else
    {
        SetPosition(CartObject.ObjectLayer, CartObject.Left, CartObject.TopEndingPosition + 'px');   
        CartObject.MakeIFrameMirrorMiniCart();
    }
    
    CartObject.LayerOpen = true;
    CartObject.Moving = false;    
}

CartObject.Close = function()
{        
    CartObject.Moving = true;
	var ypx = CartObject.ObjectLayer.style.top;
	var y = Number(ypx.substring(0,ypx.indexOf("px")));
	var stop = CartObject.ObjectLayer.offsetHeight;
	
	if(y > -stop){
		y = y - CartObject.ScrollIncrement;
		SetPosition(CartObject.ObjectLayer,CartObject.Left,y+'px');
		CartObject.MakeIFrameMirrorMiniCart();
		CartObject.ObjTimer = setTimeout("CartObject.Close()", CartObject.ScrollTimout);
	}
	else
	{
		CartObject.ObjectLayer.style.display = "none";
		CartObject.Moving = false;
	}
	CartObject.LayerOpen = false;	
}

CartObject.MakeIFrameMirrorMiniCart = function()
{
	if(browser == "IE")
	{
		MirrorObjects(CartObject.IFrameObject,CartObject.ObjectLayer);		
	}
}

// Begin Display Message
var DisplayMessage = new Object();

DisplayMessage.DefaultPosition = function()
{          
    if(document.documentElement.scrollTop > 140)
        ReturnObjById('DisplayMessage').style.top = (document.documentElement.scrollTop +10) + "px";
    else
        ReturnObjById('DisplayMessage').style.top = "140px";
}

DisplayMessage.CenterPosition = function()
{   
    ReturnObjById('DisplayMessage').style.top = parseInt(document.documentElement.scrollTop + (document.documentElement.clientHeight/2) - 200) + 'px';
    ReturnObjById('DisplayMessage').style.left = '260px';
}

DisplayMessage.Show = function()
{
    DisplayMessage.ShowWithParams(null,null,null);    
}

DisplayMessage.MirrorObjects = function()
{
    MirrorObjects(ReturnObjById('DisplayMessageIFrame'),ReturnObjById('DisplayMessage'));
}

DisplayMessage.ShowWithParams = function(text, position, hideHandle)
{
    if(position == "center")
        DisplayMessage.CenterPosition();
    else
        DisplayMessage.DefaultPosition();
    
    if(text != null)
        ReturnObjById('DisplayMessageTextArea').innerHTML = text;    
    else
        ReturnObjById('DisplayMessageTextArea').innerHTML = "<img src='../Images/Icons/PleaseWaitSpinner.gif' />&nbsp;Please Wait...";
        
    if(hideHandle)
        DisplayMessage.HideHandle();
    else
        DisplayMessage.ShowHandle();        
    
    ReturnObjById('DisplayMessage').style.display = 'inline';
    ReturnObjById('DisplayMessageIFrame').style.display = 'inline';       
    DisplayMessage.MirrorObjects();    
}

DisplayMessage.HideHandle = function()
{
    ReturnObjById('DisplayMessageHandle').style.display = 'none';
}

DisplayMessage.ShowHandle = function()
{
    ReturnObjById('DisplayMessageHandle').style.display = '';
}

DisplayMessage.Hide = function()
{
    ReturnObjById('DisplayMessageIFrame').style.display = 'none';
    ReturnObjById('DisplayMessage').style.display = 'none';
}

DisplayMessage.SetContents = function(text)
{
    ReturnObjById('DisplayMessageTextArea').innerHTML = text;
    DisplayMessage.MirrorObjects();
}
