
        var xmlHttp;
        var xmlHttpBag;
        var pageSize = 10;
        var pageNo = 0;
		var searchType = null;
		var searchValue = null;
		var contentArea = null;
		var myBrickAction = "";
		var myBricks = "";
		var bagReset = false;
		
		function checkSubmit()
		{
			if(document.getElementById('h-searchFormTextInput').value)
				return true;
			else
				return false;
		}
		
		function checkParameters()
		{
			var fireSearch = false;	
			if(Request.QueryString("searchtype").Count > 0)
			{
				fireSearch = true;
				searchType = Request.QueryString("searchtype")
			}

			if(Request.QueryString("searchvalue").Count > 0)
				searchValue = Request.QueryString("searchvalue")

			if (fireSearch)
			{
				pageNo=0;
				getBricks(searchType,searchValue);
			}
			getBag();
		}
		
        function showPage(pn,ps)
        {
			pageSize = ps;
			pageNo = pn;
			getBricks(searchType,searchValue);
        }
        
        function getBricks(st, sv)
        {
			searchType = st;
			searchValue = sv;
			
            if (xmlHttp != null) xmlHttp.abort();
            xmlHttp=GetXmlHttpObject()

            if (xmlHttp==null)
            {
            alert ("Browser does not support HTTP Request")
            return
            } 
            var url="service/getBricks.aspx"
            url=url+"?sid="+Math.random()
            url=url+"&st="+searchType
            url=url+"&sv="+searchValue
            url=url+"&pn="+pageNo;
            url=url+"&ps="+pageSize;
            url=url+"&cat="+ document.getElementById('ddlCountries')[document.getElementById('ddlCountries').selectedIndex].value;
			
			
			//alert(url) 
            xmlHttp.onreadystatechange=stateChanged 
            xmlHttp.open("GET",url,true)
            xmlHttp.send(null)

            if (searchValue == null || searchValue.length > 0  )
            {
				if (searchType == 0)
					setPageStats("" + searchValue,"/content/factory/Pick A Brick Searches/SearchByName/");
				else if (searchType == 1)
					setPageStats(document.getElementById('ddlCategory')[document.getElementById('ddlCategory').selectedIndex].text,"/content/factory/Pick A Brick Searches/SearchByCategory/");
				else if (searchType == 2)
					setPageStats(document.getElementById('ddlColor')[document.getElementById('ddlColor').selectedIndex].text,"/content/factory/Pick A Brick Searches/SearchByColor/");
				else if (searchType == 3)
					setPageStats("" + searchValue,"/content/factory/Pick A Brick Searches/SearchByElementId/");
				else if (searchType == 4)
					setPageStats("" + searchValue,"/content/factory/Pick A Brick Searches/SearchByDesignId/");
				else if (searchType == 5)
					setPageStats("allbricks","/content/factory/Pick A Brick Searches/SearchByAllBricks/");
				else if (searchType == 6)
					setPageStats(document.getElementById('ddlColorExcact')[document.getElementById('ddlColorExcact').selectedIndex].text,"/content/factory/Pick A Brick Searches/SearchByExcactColor/");
			}
        } 
		function back()
		{
			document.getElementById("brickPanel").innerHTML = contentArea;
		}

        function getBrick(itemid)
        {
			contentArea =  document.getElementById("brickPanel").innerHTML;
			
            if (xmlHttp != null) xmlHttp.abort();
            xmlHttp=GetXmlHttpObject()

            if (xmlHttp==null)
            {
            alert ("Browser does not support HTTP Request")
            return
            } 
            var url="service/getBrick.aspx"
            url=url+"?sid="+Math.random()
            url=url+"&itemid="+itemid
            url=url+"&st="+searchType
            url=url+"&sv="+searchValue
            url=url+"&pageNo="+pageNo;
            url=url+"&pageSize="+pageSize;
            url=url+"&cat="+ document.getElementById('ddlCountries')[document.getElementById('ddlCountries').selectedIndex].value;

            xmlHttp.onreadystatechange=stateChanged 
            xmlHttp.open("GET",url,true)
            xmlHttp.send(null)
        } 
		function getHelp()
			{
				contentArea =  document.getElementById("brickPanel").innerHTML;
				
				if (xmlHttp != null) xmlHttp.abort();
				xmlHttp=GetXmlHttpObject()

				if (xmlHttp==null)
				{
				alert ("Browser does not support HTTP Request")
				return
				} 
				var url="service/getHelp.aspx"
				url=url+"?sid="+Math.random()
				
				xmlHttp.onreadystatechange=stateChanged 
				xmlHttp.open("GET",url,true)
				xmlHttp.send(null)
				
				setPageStats("Search Help","/content/factory/Pick A Brick/");
			} 
		function getColors()
			{
			
				if (xmlHttp != null) xmlHttp.abort();
				xmlHttp=GetXmlHttpObject()

				if (xmlHttp==null)
				{
				alert ("Browser does not support HTTP Request")
				return
				} 
				var url="service/getColors.aspx"
				url=url+"?sid="+Math.random()
				
				xmlHttp.onreadystatechange=stateChanged 
				xmlHttp.open("GET",url,true)
				xmlHttp.send(null)

				setPageStats("Colors","/content/factory/Pick A Brick/");
				
			} 

        function getBag()
        {
            if (document.getElementById("brickBag"))
            {
            
            if (xmlHttpBag != null) xmlHttpBag.abort();
            xmlHttpBag=GetXmlHttpObject()

            if (xmlHttpBag==null)
            {
            alert ("Browser does not support HTTP Request")
            return
            } 
            var url="service/getBag.aspx"
            var parameters = ""
            parameters += "&sid="+Math.random();
            parameters += "&cat="+ document.getElementById('ddlCountries')[document.getElementById('ddlCountries').selectedIndex].value;
			parameters += "&ba="+ myBrickAction
			parameters += "&bricks="+ myBricks
			parameters += "&id="+ myBricks
			
			if(Request.QueryString("modelid").Count > 0)
				parameters += "&modelid="+ Request.QueryString("modelid")

			if(Request.QueryString("speciallinkid").Count > 0)
				parameters += "&speciallinkid="+ Request.QueryString("speciallinkid")

			//if(Request.QueryString("shipto").Count > 0)
			//{
				parameters += "&shipto="+ document.getElementById('ddlCountries')[document.getElementById('ddlCountries').selectedIndex].value;
			//}
			
			if(Request.QueryString("resetbag").Count > 0)
			{
				if(Request.QueryString("resetbag") == "true")
					if (!bagReset)
					{
						// prevent bag from beeing reset more in this session
						bagReset = true;
						parameters += "&resetbag=true"
					}
			}
            
           //alert(url + parameters);

            xmlHttpBag.onreadystatechange=stateChangedBag 
            xmlHttpBag.open("POST",url,true)
            xmlHttpBag.setRequestHeader("Content-length", parameters.length);
            xmlHttpBag.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            xmlHttpBag.send(parameters)
            }
        } 

		function updateBag()
		{
			var myElements;
			myBricks = "";
			myElements = Form.getElements(pabForm);
			myElements.each( function(familyMember)
				{
					if (familyMember.name.indexOf('pabTxtBox') == 0)
						myBricks = myBricks + familyMember.name.replace('pabTxtBox_','')+ '|'+ familyMember.value + ','
				});
			myBrickAction=2;				
			getBag();
		}

		function deleteBag()
		{
			myBrickAction=3;				
			getBag();
		}

		function addBrick(itemid, quantity)
		{
			myBrickAction=0;				
			myBricks=itemid+','+quantity;
			getBag();
		}
		function deleteBrick(itemid)
		{
			myBrickAction=1;				
			myBricks=itemid
			getBag();
		}

        function stateChanged() 
        { 
            var regexp= new RegExp("(\<[^>]*form[^>]*\>)+", "i");
            if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
            {
	            document.getElementById("brickPanel").innerHTML=xmlHttp.responseText.replace(regexp,""); 
				var re = new RegExp("<!--itemno([0-9]+)-->", "g");
				var m = re.exec(document.getElementById("brickPanel").innerHTML);
				if (m != null)
				{
					for (i = 0; i < m.length; i++)
					{
						if (i = 1)
						{
							var so1 = new SWFObject('http://cache.lego.com/flash/factory/imageViewer.swf?s_path=http://cache.lego.com/images/factory/pab/brickSpins/&s_imageSet=' + m[i] + '_&i_numImages=8', "myMovie", "310", "240", "8", "#FFFFFF");
							so1.write("PAB_spinner");
						}
					}
				}				    
	        }
        } 
        function stateChangedBag() 
        { 
            var regexp= new RegExp("(\<[^>]*form[^>]*\>)+", "i");
            if (xmlHttpBag.readyState==4 || xmlHttpBag.readyState=="complete")
            {
	            document.getElementById("brickBag").innerHTML=xmlHttpBag.responseText.replace(regexp,"");     
				if (xmlHttpBag.responseText.replace(regexp,"").indexOf('quantityadjusted') != -1)
					alert('Your request has exceeded the maximum number currently available of this brick.\n\nWe will adjust your Brick Bag to reflect the available amount.\n\nPlease come back soon to check availability of this brick.')				
	        }
        } 

        function GetXmlHttpObject()
            { 
            var objXMLHttp=null
            if (window.XMLHttpRequest)
            {
            objXMLHttp=new XMLHttpRequest()
            }
            else if (window.ActiveXObject)
            {
            objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
            }
            return objXMLHttp
        } 
		function MM_openBrWindow(theURL,winName,features,width,height)
		{ //v2.0
			winID = window.open(theURL,winName,features + "width=" + width + ",height=" + height + ",left=" + ((screen.width - width) / 2) + ",top=" + ((screen.height - height) / 2));
			winID.focus();
		}
		
		
