﻿/* Site Init
*
*
*/
function WebsiteInit()
{
    //IF YOU CHANGE THIS THINGS WILL BREAK   
    loadDocument();

    //Always ensure postbacks are directed to their url-rewritten equivs.
    document.forms[0].action = this.window.location;

    MenuInit();
    
    //IFrames to netsuite
    //document.getElementById('IFrameCount').src = '/Dynamic/Controls/RightHandBarBasket_IFrame_BasketCount.aspx';
    //document.getElementById('IFrameCost').src = '/Dynamic/Controls/RightHandBarBasket_IFrame_Price.aspx';


    //DO NOT CHANGE ANYTHING BETWEEN THESE TWO COMMENTS
	
	if($('#InfoFeatures table td.td-value:contains("Grade")').size()>0){
		$('#InfoFeatures table td.td-value:contains("Grade")').each(function(){
			var a=$(this).html().match(/Grade\s\d/i)[0].split(' ');
			a[1]='<br /><big>'+a[1]+'</big>';
			var html ='<a class="grade">'+a.join('')+'</a>';		
			$('#InfoDescription .InfoDescriptionLinks A.grade').parent().html(html);
			$('#InfoDescription .InfoDescriptionLinks').show();
		});		
	}
	else{
		$('#InfoDescription .InfoDescriptionLinks').remove();
	}
	//$('a[href^="javascript:void(null)"]').attr('href','javascript:;');
	if($.browser.msie&&$.browser.version.indexOf('6.')!=-1){
		$('a[href^="javascript:void"],a[href^="javascript:;"]').attr('href','#');
	}
	$('.t2Product:odd').css('margin-right','0px');
	
/*	
	var gradeParent=$('#InfoDescription .InfoDescriptionLinks A.grade').parent();
	$('#InfoDescription .InfoDescriptionLinks A.grade').remove();
	$('#InfoFeatures table td.td-value:contains("Grade")').each(function(){
		var grade=$(this).html().match(/Grade\s\d\s/i);
		var a=grade.split(' ');
		a[1]='<big>'+a[1]+'</big>';
		var html ='<a class="grade">'+a.join('')+'</a>';		
		$(gradeParent).html(html);
	});
*/
}

function ShowLoading()
{
     document.getElementById('loading').className = 'LoadingOn';
}
function HideLoading()
{
     document.getElementById('loading').className = 'LoadingOff';
}


/* Menu functions.
*
*
*
*
*/
function MenuInit()
{
    var id = readCookie("it247menu");
	if(id != null && id != "" )
	{
	    //alert('Last menu click was: ' + id);
        OpenMenuTo(id);
	}
}
function OpenMenuTo(id)
{
    //work out all the nodes that need to be open
    //then call open item for each one.
    var SourceNodes = new Array();
    SourceNodes = id.split('_');

    var NodeCount = 0;
    for (x in SourceNodes)
    {
        NodeCount++;
    }    

   
    var OpenMeString = "";
    for(var i=0; i!=NodeCount; i++)
    {
        OpenMeString = OpenMeString.replace(/_sub/g,"");
        if(OpenMeString!=null && OpenMeString != "")
        {
            OpenMeString = OpenMeString + "_";
        }
        OpenMeString = OpenMeString + SourceNodes[i] + "_sub";
        
        //alert('Opening: ' + OpenMeString);

        OpenItem(OpenMeString); 
    }
        

}
function UpdateLastMenuClick(id)
{
    //Update last menu click cookie so on reload correct menu opens
    //alert('Setting last menu click to: ' + id);
    setCookie("it247menu", id, 24, "/", "", false);
}
function LeafClick(id)
{
    //Do nothing, reserved for future use
}
function OpenItem(id)
{
    if(document.getElementById(id))
    {
       document.getElementById(id).className = 'menuExpanded';
       //alert('Just opened the div with id: ' + id);
    }
}

/* Product View Tab Toggling
*
*
*/
function ToggleProductTab(thisTab)
{
    //Turn everything off
    document.getElementById("featurestab").className = "ProductViewLayoutInfoTabFeatures";
    document.getElementById("specificationstab").className = "ProductViewLayoutInfoTabSpecifications";
    document.getElementById("descriptiontab").className = "ProductViewLayoutInfoTabDescription";
    
    //Turn off data containers
    document.getElementById("InfoFeatures").className = "ProductViewLayoutInfoFeaturesOff";
    document.getElementById("InfoSpecification").className = "ProductViewLayoutInfoSpecificationOff";
    document.getElementById("InfoDescription").className = "ProductViewLayoutInfoDescriptionOff";

    if(thisTab.id=="descriptiontab")
    {
         //Turn on
         document.getElementById("descriptiontab").className = "ProductViewLayoutInfoTabDescriptionSelected";
         document.getElementById("InfoDescription").className = "ProductViewLayoutInfoDescriptionOn";
    }
    else if(thisTab.id=="featurestab")
    {
         //Turn on
         document.getElementById("featurestab").className = "ProductViewLayoutInfoTabFeaturesSelected";
         document.getElementById("InfoFeatures").className = "ProductViewLayoutInfoFeaturesOn";
    }
    else if(thisTab.id=="specificationstab")
    {
         //Turn on
         document.getElementById("specificationstab").className = "ProductViewLayoutInfoTabSpecificationsSelected";
         document.getElementById("InfoSpecification").className = "ProductViewLayoutInfoSpecificationOn";
    }
}



/* Utility Javascript Functions
*
*  formatVatPrice(whole) -  This function is depreciated and should not be used in the new website
*                           Retaining a copy of it here "just in case" and will likely be removed
*                           before Web 3.0 goes live.
*
*
*/
function formatVatPrice(whole)
{ 
    var isInverted = false;

    whole = whole.toString().replace(/\$|\,/g,'');
    if(isNaN(whole))
    {
        whole = "0";
    }

    if(whole.substring(0,1)=='-')
    {
        isInverted = true;
        whole=whole*-1;
    }

    whole = Math.floor(whole*100+0.50000000001);
    frac = whole%100;
    whole = Math.floor(whole/100).toString();
    if(frac<10)
    frac = "0" + frac;
    for (var i = 0; i < Math.floor((whole.length-(1+i))/3); i++)
    whole = whole.substring(0,whole.length-(4*i+3))+','+
    whole.substring(whole.length-(4*i+3));

    if(isInverted)
    {
        whole=whole*-1;
    }

    return (whole + '.' + frac);
}


function getElement(psID) {
   if(document.all) {
      return document.all[psID];
   } else {
      return document.getElementById(psID);
   }
} 


/* COOKIE FUNCTIONS */
/**
 * Sets a Cookie with the given name and value.
 *
 * name       Name of the cookie
 * value      Value of the cookie
 * [expires]  Expiration date of the cookie (default: end of current session)
 * [path]     Path where the cookie is valid (default: path of calling document)
 * [domain]   Domain where the cookie is valid
 *              (default: domain of calling document)
 * [secure]   Boolean value indicating if the cookie transmission requires a
 *              secure transmission
 */
function setCookie(name, value, expire, path, domain, secure)
{
    expires = new Date((new Date()).getTime() + expire * 3600000);
	document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

/**
 * Gets the value of the specified cookie.
 *
 * name  Name of the desired cookie.
 *
 * Returns a string containing value of specified cookie,
 *   or null if cookie does not exist.
 */
function readCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

/**
 * Deletes the specified cookie.
 *
 * name      name of the cookie
 * [path]    path of the cookie (must be same as path used to create cookie)
 * [domain]  domain of the cookie (must be same as domain used to create cookie)
 */
function deleteCookie(name, path, domain)
{
    if (readCookie(name))
    {
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}


/*** AJAX!
*/

function LoadSkeleton()
{
  document.body.style.display = 'none';

    var request = HttpRequest("/Dynamic/ExternalHtml/ExternalTemplate.aspx");
    embedpage(request);
    
    WebsiteInit();
    
  document.body.style.display = 'block';
}



function HttpRequest(url){
var pageRequest = false //variable to hold ajax object
/*@cc_on
   @if (@_jscript_version >= 5)
      try {
      pageRequest = new ActiveXObject("Msxml2.XMLHTTP")
      }
      catch (e){
         try {
         pageRequest = new ActiveXObject("Microsoft.XMLHTTP")
         }
         catch (e2){
         pageRequest = false
         }
      }
   @end
@*/

    if (!pageRequest && typeof XMLHttpRequest != 'undefined')
    {
       pageRequest = new XMLHttpRequest();
    }

    if (pageRequest)
    { //if pageRequest is not false

       pageRequest.open('GET', url, false) //get page synchronously 
       pageRequest.send(null)


       //embedpage(pageRequest)
    }
    
    return pageRequest;
}

function embedpage(request)
{
    //if viewing page offline or the document was successfully retrieved online (status code=2000)
    if (window.location.href.indexOf("http")==-1 || request.status==200)
    {
       //Load file
       var docbody = document.getElementById("cContent").innerHTML;
       var doctitle = document.getElementsByTagName("title")[0].text;


       //Stop the javascript double-rendering
       docbody = docbody.replace(/<script/g,"<!-- script");
       docbody = docbody.replace(/<\/script>/g,"</script -->");

       //Implode template
       var outputText = request.responseText.replace(/%%PLACEHOLDER%%/g,docbody);

       //Display
       var NEWHEAD = "";
       var rx = new RegExp("<head>([.\\w\\W\\s\\S]*)</head>", "g")
       var result = rx.exec(outputText);
       if(result!=null)
       {
           NEWHEAD = result[1];
       }

       document.write(NEWHEAD);

       var NEWBODY = "";
       var rx = new RegExp("<body.*>([.\\w\\W\\s\\S]*)</body>", "g")
       result = rx.exec(outputText);
       if(result!=null)
       {
           NEWBODY = result[1];
       }

       document.body.innerHTML = "<div id=\"newcontent\" style=\"display: none;\">" + NEWBODY + "</div>";
       document.title = doctitle;
       getElement('newcontent').style.display = 'block';

       document.write(NEWHEAD);       

       document.getElementById('IFrameCount').src = '/Dynamic/Controls/RightHandBarBasket_IFrame_BasketCount.aspx';
       document.getElementById('IFrameCost').src = '/Dynamic/Controls/RightHandBarBasket_IFrame_Price.aspx';

    }


}

/*** POSTBACK CORRECTION */

function noPostBack(sNewFormAction)
{
    if(document.layers) //The browser is Netscape 4
    {
        document.layers['Content'].document.forms[0].__VIEWSTATE.name = 
                                                           'NOVIEWSTATE';
        document.layers['Content'].document.forms[0].action =
                                                     sNewFormAction;
    }
    else //It is some other browser that understands the DOM
    {
        document.forms[0].action = sNewFormAction;
        document.forms[0].__VIEWSTATE.name = 'NOVIEWSTATE';
    }
}

/**** IT247-Url-Encode-Decode ***/
function IT247UrlEncode(unencodedString)
{
    var encoded = unencodedString;
    encoded = encoded.replace(/ /g,"*20");
    encoded = encoded.replace(/\+/g,"*2B");
    encoded = escape(encoded);
    encoded = encoded.replace(/%/g,"*");
    return encoded;
}
function IT247UrlDecode(encodedString)
{
    var decoded = encodedString;
    decoded = decoded.replace(/\*20/g," ");
    decoded = decoded.replace(/\*2B/g,"_2B");
    decoded = decoded.replace(/\*/g,"%");
    decoded = unescape(decoded);
    decoded = decoded.replace(/_2B/g,"+");
    return decoded;
}


/****** Search form processing */
var searchstring = "/Search/";
function PostToSearch()
{

  ShowLoading();
    window.location = searchstring;
}
function SetSearchForm()
{
    searchstring = '/Search/'+IT247UrlEncode(getElement('it247Search').value);
}


/******* signposting hack ****/
function DisplayCategoryImage(imageId)
{
    if( imageId==1 ||
        imageId==2 ||
        imageId==3 ||
        imageId==4 ||
        imageId==5 ||
        imageId==6 ||
        imageId==7 ||
        imageId==8 ||
        imageId==9 ||
        imageId==10 ||
        imageId==11 ||
        imageId==12 ||
        imageId==13 ||
        imageId==14 ||
        imageId==15 ||
        imageId==16 ||
        imageId==17 ||
        imageId==18 ||
        imageId==19 ||
        imageId==20 ||
        imageId==21 ||
        imageId==22 ||
        imageId==23 ||
        imageId==24 ||
        imageId==25 ||
        imageId==26 ||
        imageId==27 ||
        imageId==28 ||
        imageId==29 ||
        imageId==30 ||
        imageId==31 ||
        imageId==32 ||
        imageId==33 ||
        imageId==34 ||
        imageId==35 ||
        imageId==36 ||
        imageId==37 ||
        imageId==38 ||
        imageId==39 ||
        imageId==40 ||
        imageId==41 ||
        imageId==42 ||
        imageId==43 ||
        imageId==44 ||
        imageId==45 ||
        imageId==46 ||
        imageId==47 ||
        imageId==48 ||
        imageId==49 ||
        imageId==50 ||
        imageId==51 ||
        imageId==52 ||
        imageId==53 ||
        imageId==54 ||
        imageId==55 ||
        imageId==56 ||
        imageId==57 ||
        imageId==58 ||
        imageId==59 ||
        imageId==60 ||
        imageId==61 ||
        imageId==62 ||
        imageId==63 ||
        imageId==64 ||
        imageId==65 ||
        imageId==66 ||
        imageId==67 ||
        imageId==68 ||
        imageId==69 ||
        imageId==70 ||
        imageId==71 ||
        imageId==72 ||
        imageId==73 ||
        imageId==74 ||
        imageId==75 ||
        imageId==76 ||
        imageId==77 ||
        imageId==78 ||
        imageId==79 ||
        imageId==80 )
        {
            return true;
        }
        else
        {
            return false;
        }
}


/***** Add to cart validation ******/
function Do_AddToCart(ProductId, Quantity, AddToCartAction)
{
  
    if(Validate_AddToCart(Quantity))
    { 
      document.forms[0].ProductToAdd.value= ProductId;
      document.forms[0].ProductToAddQty.value = Quantity;
      document.forms[0].PageAction.value= AddToCartAction;
      document.forms[0].submit();
    }
}

function Validate_AddToCart(quantity)
{
  var Error = false;

     if(!Error)
     {
         //if the quantity is a number only and less than 9 digits in length
         if(quantity.length > 9)
         { 
           alert("The value in the quantity box is too long.");
           Error = true;
         }
     }
     
     if(!Error)
     {
         //check for characters.
         var charpos = quantity.search("[^0-9]");
         if(quantity.length > 0 &&  charpos >= 0)
         {
             alert("Only values between 0 and 999999999 are allowed in the quantity box");
             Error = true;
         }
     }

     if(Error) return false;
     
     return true;
}

/*** Product status message ***/
function DisplayCategoryProductStatus(statusMessage, productCount)
{
    if(statusMessage == "<!-- no products -->")
    {
		document.write("There are no products in the current category.");
    }
	else
	{
		document.write("Total Products: " + productCount + "<br />");
	}
}

/*** PPC Partner Tracking Codes ***/ //function DisplayPartnerTracking(trackedReferrer)
function DisplayPartnerTracking(trackedReferrer,IT247Subtotal,IT247Tax,IT247Total,IT247OrderNumber,IT247PromotionCodeRef,IT247Partner,IT247ShipMethodReq,IT247UserAgent,IT247UrlReferrer,IT247UserHostAddress,IT247UserHostName)
{
  /*
    trackedReferrer
    IT247Subtotal
    IT247Tax
    IT247Total
    IT247OrderNumber
    IT247PromotionCodeRef
    IT247Partner
    IT247ShipMethodReq
    IT247UserAgent
    IT247UrlReferrer
    IT247UserHostAddress
    IT247UserHostName
  */


     var doTradeDoubler = false;

     if(trackedReferrer=="<!-- no IT247TrackedReferrer -->")
     {
       document.write('<div style="text-align: center; align: center;">');
       //Shopping.com image
       document.write('<a href="http://uk.shopping.com/xMWR-IT247.com~MRD-408524"><img src="/Static/staticImages/images/review_buttons/shopping.gif" alt="Leave a review at Shopping.com" /></a>&nbsp;');
       //NexTag image
       document.write('<a href="http://merchants.nextag.com/serv/uk/buyer/UserReviewInput.jsp?nxtg=c50a1c0532-450D9FE05B13F567&seller=2129047&product=&node"><img src="/Static/staticImages/images/review_buttons/nextag.gif" alt="Leave a review at NexTag" /></a>&nbsp;');
       //PriceRunner image
       document.write('<a href="http://www.pricerunner.co.uk/retailer/22421/reviews?action=submitreview"><img src="/Static/staticImages/images/review_buttons/pricerunner.gif" alt="Leave a review at PriceRunner" /></a>&nbsp;');
       //Price Grabber image
       document.write('<a href="https://www.pricegrabber.com/rating_merchrev.php?retid=4581" target=_blank><img src="/Static/staticImages/images/review_buttons/pricegrabber.gif" alt="Leave a review at Price Grabber"</a>&nbsp;');

       document.write('</div>');
     }

     if(trackedReferrer=="dealtime")    // Shopping.com
     {
       document.write('<center><a href="http://uk.shopping.com/xMWR-IT247.com~MRD-408524"><img src="/Static/staticImages/images/review_buttons/shopping.gif" alt="Leave a review at Shopping.com" /></a></center>');
       document.write('<script language="JavaScript">var merchant_id = "408524"; var order_id = "' + IT247OrderNumber + '"; var order_amt = "' + IT247Total + '"; var category_id = \'\'; var category_name = \'\';var product_id = \'\'; var product_name = \'\'; </script>');
       document.write('<script language="JavaScript" src="https://stat.DealTime.com/ROI/ROI.js?mid=408524"></script>');
     }

     if(trackedReferrer=="froogle")
     {
       //Apparently nothing, at all.
     }
     
     if(trackedReferrer=="gclid")
     {
       //Apparently nothing, at all.
     }

     if(trackedReferrer=="kelkoo")
     {
       //trigger tradedoubler code
       doTradeDoubler = true;
     }

     if(trackedReferrer=="nextag")
     {
       document.write('<center><a href="http://merchants.nextag.com/serv/uk/buyer/UserReviewInput.jsp?nxtg=c50a1c0532-450D9FE05B13F567&seller=2129047&product=&node"><img src="/Static/staticImages/images/review_buttons/nextag.gif" alt="Leave a review at NexTag" /></a></center>');
       document.write('<script type="text/javascript">var id = "2129047"; var rev = "' + IT247Total + '"; var order = "' + IT247OrderNumber + '";</script>');
       document.write('<script type="text/javascript" src="https://imgsrv.nextag.com/imagefiles/includes/roitrack.js"></script>');
     }

     if(trackedReferrer=="pricerunner")
     {
       document.write('<center><a href="http://www.pricerunner.co.uk/retailer/22421/reviews?action=submitreview"><img src="/Static/staticImages/images/review_buttons/pricerunner.gif" alt="Leave a review at PriceRunner" /></a></center>');
       
       //trigger tradedoubler code
       doTradeDoubler = true;
     }

     if(trackedReferrer=="pricegrabber")
     {
       document.write('<!-- PriceGrabber Merchant Evaluation Code -->');
       document.write('<script language="javascript" type="text/javascript">');
       document.write('<!-- popup_pos_x=200; popup_pos_y=20; popup_title_color = "#000080"; popup_title_font_color = "#FFFFFF"; //--> </script>');
       document.write('<script language="javascript" src="https://www.pricegrabber.com/rating_merchrevpopjs.php?retid=4581" type="text/javascript"></script>');
       document.write('<NOSCRIPT>');
       document.write('<a href="https://www.pricegrabber.com/rating_merchrev.php?retid=4581" target=_blank>');
       document.write('<img src="/Static/staticImages/images/review_buttons/pricegrabber.gif" alt="Leave a review at Price Grabber">');
       document.write('</a></NOSCRIPT>');
       document.write('<!-- End PriceGrabber Code -->');
       document.write('<img src="https://www.pricegrabber.com/conversion.php?retid=4581" width="1" height="1">');
     }


     if(doTradeDoubler)
     {
       document.write('<img src="http://tracker.tradedoubler.com/report?organization=1075880&event=48407&orderNumber=' + IT247OrderNumber + '&orderValue=' + IT247Total + '&currency=GBP" width="1" height="1">');
     }
     
//	alert(trackedReferrer+','+IT247Subtotal+','+IT247Tax+','+IT247Total+','+IT247OrderNumber+','+IT247PromotionCodeRef+','+IT247Partner+','+IT247ShipMethodReq+','+IT247UserAgent+','+IT247UrlReferrer+','+IT247UserHostAddress+','+IT247UserHostName);

     AnalyticsTrackingForEcommerceTransaction(trackedReferrer,IT247Subtotal,IT247Tax,IT247Total,IT247OrderNumber,IT247PromotionCodeRef,IT247Partner,IT247ShipMethodReq,IT247UserAgent,IT247UrlReferrer,IT247UserHostAddress,IT247UserHostName);
}

function AnalyticsTrackingForEcommerceTransaction(trackedReferrer,IT247Subtotal,IT247Tax,IT247Total,IT247OrderNumber,IT247PromotionCodeRef,IT247Partner,IT247ShipMethodReq,IT247UserAgent,IT247UrlReferrer,IT247UserHostAddress,IT247UserHostName)
{
  //Google Analytics
  document.write('<div style="display: none;"><form style="display:none;" name="utmform"><textarea id="utmtrans">UTM:T|' + IT247OrderNumber + '|IT247|' + IT247Total + '|' + IT247Tax + '|0|Manchester|Lancashire|UK</textarea></form></div><script type="text/javascript">__utmSetTrans();</script>');

  //Index tools Analytics
  document.write('<script language="javascript" type="text/javascript">');
  document.write('var ACTION="01";');
  document.write('var DOCUMENTGROUP="Checkout";'); 
  document.write('var DOCUMENTNAME="Thank You Page";');
  document.write('var AMOUNT="' + IT247Total + '";');
  document.write('var _S_TAX="' + IT247Tax + '";');
  document.write('var ORDERID="' + IT247OrderNumber + '";');
  document.write('</script>');


}
function DropDownNavigate(DropDown)
{
	destination = DropDown.options[DropDown.selectedIndex].value;
	if (destination) location.href = destination;
}

/*********************** ENGINE.JS *******************************/


// JavaScript Document
function show (obj)
{
    try{

	for (i=1; i<=8; i++)
		{
		if (obj != 'menuleft_sub' + i)
			{
			var menu = document.getElementById('menuleft_sub' + i);
			menu.style.display = 'none';
			}
		}

	var element = document.getElementById(obj);
	if (element.style.display == 'block')
		{
		element.style.display = 'none';
		}
	else
		{
		element.style.display = 'block';
		}
		
		}
		catch(e){}
}


function clickMenu (obj)
{
	createCookie ("menu", obj, 1);
	
	if (obj == "menuleft_sub1") location.href = "/Category/1/Computing";
	if (obj == "menuleft_sub2") location.href = "/Category/2/Computer_Peripherals";
	if (obj == "menuleft_sub3") location.href = "/Category/3/Monitors";
	if (obj == "menuleft_sub4") location.href = "/Category/4/Printing";
	if (obj == "menuleft_sub5") location.href = "/Category/5/Consumables_And_Supplies";
	if (obj == "menuleft_sub6") location.href = "/Category/6/Home_Entertainment";
	if (obj == "menuleft_sub7") location.href = "/Category/7/Portable_Technology";
	if (obj == "menuleft_sub8") location.href = "/Category/8/Software";

}




function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}





function loadDocument ()
{
	var pr_left = new Array ();
	pr_left = getElementsByClassName (document, "div", "product_left");
	
	if (pr_left.length != 0)
	{
	
	    try{

	        var elem1 = document.getElementById (pr_left[0].id);
	        //elem1.style.background = "red";
	        elem1.style.styleFloat = "left";
	        elem1.style.cssFloat = "left";
	        var elem2 = document.getElementById (pr_left[1].id);
	        //elem2.style.background = "green";
	        elem2.style.styleFloat = "right";
	        elem2.style.cssFloat = "right";
			
	        var elem3 = document.getElementById (pr_left[2].id);
	        elem3.style.styleFloat = "left";
	        elem3.style.cssFloat = "left";
	        var elem4 = document.getElementById (pr_left[3].id);
	        elem4.style.styleFloat = "right";
	        elem4.style.cssFloat = "right";
		
	    }
	    catch(e) {

        }
	}
	
	var value = readCookie ("menu");
	//alert (value);
	show (value);
}



//*** Cookies ************************************************************************************************
function createCookie (name, value, days)
{
	if (days)
		{
		var date = new Date();
		date.setTime(date.getTime() + (days*24*60*60*1000));
		var expires = "; expires=" + date.toGMTString();
		}
	else var expires = "";
	document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie (name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for (var i=0; i<ca.length; i++)
		{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
	return null;
}

function eraseCookie (name)
{
	createCookie (name, "", -1);
}


/************************************ END ENGINE.JS ***********************************/