﻿// JScript File
    function showImage(thumb, width, height)
    {
        var regEx = /thumb/;
        $('pdetailFullImage').src = thumb.src.replace(regEx, ".");
        $('pdetailFullImage').style.width = width;
        $('pdetailFullImage').style.height = height;
        resetSelected();
    }
    function resetSelected()
    {
        $('pdetailThumb1').style.borderWidth = "0px";
        $('pdetailThumb2').style.borderWidth = "0px";
        $('pdetailThumb3').style.borderWidth = "0px";
        $('pdetailThumb4').style.borderWidth = "0px";
    }
    function addCompare(productid)
    {
		var ajax = new Ajax.Request('/Default.aspx', 
			{ method: 'post', parameters: 'ajax=productCompare&productid=' + productid });
    }
    function clearCompare() {
        var ajax = new Ajax.Request('/Default.aspx',
			    { method: 'post', parameters: 'ajax=clearCompare', onSuccess: function () {
			        location.reload(true);
			    } 
			    });
    }
    function showPaymentInfo()
    {
        var type = $F('PaymentSelect').substr(0, 1);
        $('ptCreditCard').style.display = 'none';
        $('ptAccount').style.display = 'none';
        $('ptPayAtStore').style.display = 'none';
        switch(type)
        {
            case "0":
                $('ptPayAtStore').style.display = 'block';
                break;
            case "1":
                $('ptCreditCard').style.display = 'block';
                break;
            case "2":
                $('ptAccount').style.display = 'block';
                break;
            case "3":
                $('ptPayAtStore').style.display = 'block';
                break;
        }
    }
    function CurrentForm(element)
    {
        var formElement = null;
        while(formElement == null && element != null)
        {
            if(element.parentElement.nodeName == "FORM")
                formElement = element.parentElement;
            else
                element = element.parentElement;
        }
        return formElement;
    }
    
    function DisplayCurrency()
    {
		var url = window.location.href;
		if(url.indexOf("?") != -1)
		{
			if(url.indexOf("&currency=") != -1)
				url = url.replace(/&currency=\w{3}/, "");
			if(url.indexOf("currency=") != -1)
				url = url.replace(/currency=\w{3}/, "");
			window.location.href = url + "&currency=" + $F('ddlCurrency');
		}
		else
			window.location.href = url + "?currency=" + $F('ddlCurrency');
    }
    
    function SaveClick(type, ID)
    {
		var ajax = new Ajax.Request('/tracker.aspx', 
			{ method: 'post', parameters: 'type=' + type + '&ID=' + ID });
    }
    
    function AppendURL(name, value)
    {
		var url = window.location.href;
		if(url.indexOf("?") != -1)
		{
			if(url.indexOf(name + "=") != -1)
			{
				var regEx = new RegExp("&?" + name + "=[^&]*");
				url = url.replace(regEx, "");
			}
			if(url.indexOf("page=") != -1)
				url = url.replace(/&?page=[^&]*/, "");
			url = url + "&" + name + "=" + value;
		}
		else
			url = url + "?" + name + "=" + value;
		return url;
    }
    
    function AppendNewURL(name, value, url)
    {
		if(url.indexOf("?") != -1)
		{
			if(url.indexOf(name + "=") != -1)
			{
				var regEx = new RegExp("&?" + name + "=[^&]*");
				url = url.replace(regEx, "");
			}
			if(url.indexOf("page=") != -1)
				url = url.replace(/&?page=[^&]*/, "");
			url = url + "&" + name + "=" + value;
		}
		else
			url = url + "?" + name + "=" + value;
		return url;
    }
    
    function ShowURL(url)
    {
		window.location.href = url;
    }
    
    function toggleMenu(image, expand, collapse, id)
    {
		if(image.src.indexOf(expand) >= 0)
			image.src = collapse; 
		else 
			image.src = expand;
		Effect.toggle('subcat' + id, 'blind');    
	}
	
    function showAddress(address, map, showMapControl, showTypeControl) {
		geocoder.getLatLng(address, function(point) 
		{ 
			if(!point) { alert(address + " not found"); }
			else 
			{ 
				map.setCenter(point, 13); 
				var marker = new GMarker(point); 
				map.addOverlay(marker); 
				marker.openInfoWindowHtml(address);
				if(showMapControl)
				{
					map.addControl(new GSmallMapControl());
				}
				if(showTypeControl)
				{
					map.addControl(new GMapTypeControl());
				}
			}
		} ); 
	}
	
	function checkRequiredFields(form)
	{
		var result = "";
		var elements = Form.getElements(form);
		for(var i = 0; i < elements.length; i++)
		{
			var input = elements[i];
			var radios = Form.getInputs(form, 'radio',input.name);
			if($(input).readAttribute('required') != null && !$(input).disabled && ((radios.size() == 0 && ($F(input) == "" || $F(input) == null)) || 
			    (radios.size() > 0 && radios.find(function(r) { return r.checked; }) == null)))
			{
			    if (result.indexOf($(input).name + " is a required field.") < 0) {
			        if (result == "")
			            result += "You are missing the following required information:\n";
			        if ($(input).name == "AddressPNumber") {
			            result += "Phone Number\n";
			        }
			        else if ($(input).name == "AddressLine1") {
			            result += "Street Address\n";
			        }
			        else if ($(input).name == "AddressCity") {
			            result += "City\n";
			        }
			        else if ($(input).name == "AddressPCode") {
			            result += "Zip Code\n";
			        }
                    else
			            result += $(input).name + " is a required field.\n";
			    }
			}
		}
		if(result.length > 0)
		{
			alert(result);
			return false;
		}
		else 
		{
			return true;
		}
	}
	
	function postAjaxForm(formid)
	{
		//set text in divs
		var serial = $(formid).serialize();
		if(formid == "AjaxActivationForm")
		{
		    if(serial.indexOf("ContractTermID") < 0)
		    {
		    	$('AjaxContractTermList').innerHTML = "<span class='contractTermSelect'><img src='/media/ajax-loader.gif' />Loading Contract Terms...</span>";
		    }
		    else if(serial.indexOf("RatePlanID") < 0)
		    {
		        $('AjaxRatePlanList').innerHTML = "<span class='ratePlanSelect'><img src='/media/ajax-loader.gif' />Loading Rate Plans...</span>";
		    }
		    else
		    {
		    	$('RatePlan').innerHTML = "<span class='ratePlanFeatureSelect'><img src='/media/ajax-loader.gif' />Loading Rate Plan Features...</span>";
		    }
		}
		new Ajax.Request('/Default.aspx', {
			method: 'post',
			parameters: serial + "&ajax=activation",
			onSuccess: function(response) {
				var toUpdate = eval('(' + response.responseText + ')');
				for(var i = 0; i < toUpdate.elements.length; i++)
				{
					if($(toUpdate.elements[i].name) != null)
						$(toUpdate.elements[i].name).innerHTML = toUpdate.elements[i].content;
				}
			}
		});
	}

	function ToggleTesscoStore() {
		var shippingOption = $F('TesscoShippingCode');
		$('TesscoShippingStore').disabled = (shippingOption == -1);
	}
	
	//Thu Tran Added global open function
	function OpenNewWindow(page,height,width)
	{
	      var w = window.open(page,"Popup_Window","width=" + width +",height=" + height + ",location='no',menubar='no',toolbar='no',status='no',resizeable='yes',scrollbars='yes'");
	}
	function getUrlVar(name)
	{
		var vars = [], hash;
		var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
		for(var i = 0; i < hashes.length; i++)
		{
			hash = hashes[i].split('=');
			vars.push(hash[0]);
			vars[hash[0]] = hash[1];
		}
		return vars[name];
	}

	function postAjaxAddToCartForm() {
		var vars = "";
		$$('input').each(function(element, index) {
			if (element.name.indexOf('-qty') > 0) {
				//add to vars
				vars += element.name + "=" + $F(element) + "&";
			}
		});
		if(vars.length > 0)
		{
			$$('span.cartSubtotal')[0].innerHTML = "<img src='/media/ajax-loader.gif' />";
			$$('span.itemsInCart')[0].innerHTML = "<img src='/media/ajax-loader.gif' />";
		}
		new Ajax.Request('/Default.aspx', {
			method: 'post',
			parameters: vars + "&ajax=addtocart",
			onSuccess: function(response) {
				var toUpdate = eval('(' + response.responseText + ')');
				for (var i = 0; i < toUpdate.elements.length; i++) {
					if ($$('span' + toUpdate.elements[i].name).length > 0)
						$$('span' + toUpdate.elements[i].name)[0].innerHTML = toUpdate.elements[i].content;
				}
				$$('input').each(function(element, index) {
					if (element.name.indexOf('-qty') > 0) {
						element.value = "0";
					}
				});
			}
		});
	}
