var preloadFlag = false;

/* Retrival Code */
function loading(objID)
{		
	var obj = document.getElementById(objID);

	obj.innerHTML = "<div class='loading'><img src='images/loading.gif'><B>Loading......</B></div>";
}

function init()
{
	new Ajax.Updater({ success: 'cartSummaryContent'}, 'cart_content.asp?action=summaryUpdate', {  method: 'get', onLoading: loading('cartSummaryContent'), evalScripts: true });
	new Ajax.Updater({ success: 'cartMainContent'}, 'cart_content.asp', {  method: 'get', onLoading: loading('cartMainContent'), evalScripts: true });
	new Ajax.Updater({ success: 'main_content'}, 'main_content.asp', {  method: 'get', onLoading: loading('main_content'), evalScripts: true });
	new Ajax.Updater({ success: 'feature_content'}, 'main_content.asp?page=featureProduct', {  method: 'get', onLoading: loading('feature_content'), evalScripts: true });	
	preloadImages();
	initializeHistory();
}

function makeRequest(serverPage, objID, mode)
{
	if(objID!="cartMainContent")
		addToHistory(serverPage,objID);
		
	if(mode==true)
	{
		new Ajax.Updater({ success: objID}, serverPage, {  method: 'get', asynchronous: true, onLoading: loading(objID), evalScripts: true });
	}
	else
	{
		new Ajax.Updater({ success: objID}, serverPage, {  method: 'get', asynchronous: false, onLoading: loading(objID), evalScripts: true });
	}
}

function makeFormRequest(serverPage,objID,form)
{
	var str = "";
	for (var i=0; i < form.elements.length; i++)
	{
		str += form.elements[i].name + "=" + escape(form.elements[i].value);
		if(i+1 < form.elements.length)
				str += "&";
	}
	makeRequest(serverPage+"?"+str,objID,true);
}

function processCart(serverPage,objID,form)
{
	var str = "";

	for (var i=0; i < form.elements.length; i++)
	{
		if((form.elements[i].name == "size") && (form.elements[i].value == "size"))
		{
			alert("Please enter a size");
			return false;
		}
		if((form.elements[i].name == "colour") && (form.elements[i].value == "colour"))
		{
			alert("Please enter a colour");
			return false;
		}
		str += form.elements[i].name + "=" + escape(form.elements[i].value);
		if(i+1 < form.elements.length)
			str += "&";
	}
	makeRequest(serverPage+"?"+str,objID,false);	
	makeRequest('cart_content.asp?action=summaryUpdate','cartSummaryContent',true); 
	showTab('info3');
}

function hideSubMenu()
{
	$('equipment_submenu','skis_submenu','boots_submenu','bindings_submenu','poles_submenu','accessories_submenu','luggage_submenu','weather_submenu').invoke('hide');
}

function showSubMenu(content)
{
		hideSubMenu();
		$(content).show();
}

function showTab(tab)
{
	$('info1','info2','info3').invoke('hide');
	$(tab).show();
}

function loadImage(imageName,imageFile)
{
	(document.getElementById(imageName)).src=imageFile;
}


function initializeHistory() 
{
	dhtmlHistory.initialize();
	dhtmlHistory.addListener(historyChange);
	
	if (dhtmlHistory.isFirstLoad()) 
	{
		dhtmlHistory.add("Home",new Array('main_content.asp','main_content'));
	}
}
         
/** Our callback to receive history change events. */
function historyChange(newLocation,historyData) 
{
	var historyMsg = historyData;
	if(((historyMsg[0] != null)||(historyMsg[0] != "")) && ((historyMsg[1] != null)||(historyMsg[1] != "")))
	{
		new Ajax.Updater({ success: historyMsg[1]}, historyMsg[0], {  method: 'get', onLoading: loading(historyMsg[1]), evalScripts: true });
	}
}

function addToHistory(serverPage,objID)
{
	var data = new Array();
	data[0] = serverPage;
	data[1] = objID;
	
    dhtmlHistory.add(((new Date()).getTime()).toString(), data);
}
        

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) 
	{
		for (var i=0; i<changeImages.arguments.length; i+=2) 
		{
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

function preloadImages() 
{
	if (document.images) 
	{
		equipment_on = newImage("images/menu/equipment_on.gif");
		accessories_on = newImage("images/menu/accessories_on.gif");
		tickets_on = newImage("images/menu/tickets_on.gif");
		rentals_on = newImage("images/menu/rentals_on.gif");
		demo_on = newImage("images/menu/demo_on.gif");
		repair_on = newImage("images/menu/repair_on.gif");
		home_on = newImage("images/menu/home_on.gif");
		fitting_on = newImage("images/menu/fitting_on.gif");
		tips_on = newImage("images/menu/tips_on.gif");
		info_on = newImage("images/menu/info_on.gif");
		aboutus_on = newImage("images/menu/aboutus_on.gif");
		cart_on = newImage("images/menu/cart_on.gif");
		logo_on = newImage("images/logo.gif");
		nav_on = newImage("images/nav.gif");
		image1_on = newImage("images/image1.gif");
		title_on = newImage("images/title.gif");
		header_on = newImage("images/header.gif");
		preloadFlag = true;
	}
}



// ------------------------------------------------------------------------------
function fax(ID)
{
	javascript:window.open('credit.asp','remote', 'toolbar,scrollbars,resizable,dependent,width=640,height=550,left=50,top=50')
}

function checkEmail()
{	
	if (frmSleigh.name.value == "")
	{	
		alert("Please enter your full name.");
		frmSleigh.name.focus();
		return false;
	}
	if (frmSleigh.phone.value == "")
	{
		alert("Please enter your contact phone number.");
		frmSleigh.phone.focus();
		return false;
	}
	if (frmSleigh.email.value =="")
	{	
		alert("Your email address is required.")
		frmSleigh.email.select();
		return false;
	}
	return true;
}