
var handlers;
var currentStepDDL;
var persist; 
var FVQs;

//*** Add to Bag Prompt ***/


  
  function closeMessage(ind)
  {
   messageObj.close();
   if (ind) { return false; }
   try
   {
   document.getElementById('addToBag').click();
   }
   catch(e)
   {
   document.getElementById('addToBag1').click();
   }
   return false;
  }
  
  function addItem()
  {
  var servAgreement;
  try
  {
  
	servAgreement = document.getElementById(currentSACheckBox);
   	servAgreement.checked = true;
  }
  catch (e)
  {
  
	
  	servAgreement = document.getElementById('serviceagreement');
	servAgreement.checked = true;
  }
  closeMessage();
  return false;

  }
    
 

   
function onSelectionChange(stepDDL)
  {
    var ajax;
    var url;
    var skuarr;
    var skuval;
    var child = stepDDL.child;
    currentStepDDL = stepDDL;

	setHiddenSku(stepDDL);
	
	
	if (child != null) 
	  {
		if (stepDDL.selectedIndex == 0)
		{
			child.selectedIndex = 0;
			child.disabled = true;
		}
		else
		{
			child.disabled = false;
		}
		child = child.child;
		while (child != null)
		{
			child.selectedIndex = 0;
			child.disabled = true;
			child = child.child;
		}
	  }		
    url = getURL(stepDDL);
    try
      {
     
        ajax = new AJAXWrapper(url, updateContent);
        ajax.sendRequest();
      }
    catch (e)
      {
      
        document.getElementById('ProductForm').submit();
      }
  }
  
function updateContent(request)
  {
 
     var prop;
    var f;
    var p;
    var saDiv;
    registerHandlers();
    try
      {

        p = new Presentation(request.responseXML);

     
        //
      }
    catch (e)
      {
      
        try
          {
          
            var doc = (new DOMParser()).parseFromString(request.responseText, 'text/xml');
            p = new Presentation(doc);

          }
        catch (e)
          {
            throw(e);
          }
      }

    for (prop in p)
      {
        f = handlers[prop];
        if (f)
          {
            f(p);
          }
      }
    saDiv = document.getElementById("serviceAgreementBlock");
    
    if (saDiv && (p.hasServiceAgreement == false))
      {
		saDiv.style.display = "none";
      }
      
    var s = document.getElementById('footer');
    s.style.top = "0px";
    if (document.getElementById('messageText'))
    {
		document.getElementById('messageText').style.display="none";
	}
	var sls = document.getElementById('seelesscolors');
	if (sls)
	{
	SeeMoreColors(sls.innerHTML);
	}
  }

function setSteps(steps, ddl)
  {
    var option;
    var step;
    var i;
      var flag;
    for (i=ddl.options.length-1;i>0;i--)
      {
        ddl.options[i] = null;
      }
    for (i=0;i<steps.length;i++)
      {
        option = document.createElement("OPTION");
        ddl.options.add(option);
        step = steps[i];
        option.value = step.id;
        option.innerHTML = step.description;
          if (step.isLeaf )
          {
          
         
			 if (step.hideval && (step.DeviceType == 'O' || step.DeviceType == 'K') )
				 {
				 
				 option.className = 'hiddensku';
				 option.id = step.id  + "|" + "I"
				 flag = true;
				 }
			 else 
				{ 
				 if (step.DeviceType == 'P')
				  {
				 
				     if (step.Status == 'NA' || step.Status == 'AU' || step.Status == 'SS' || step.Status == 'DI')
				     {
				      option.className = 'hiddensku';
					  option.id = step.id  + "|" + "I"
					  flag = true;
					 }
				  
				    
				  }
			    }
          }
          if (step.isSelected)
            {
              option.selected=true;
              if (ddl.child)
                {
                  setSteps(step.childSteps, ddl.child);
                }
                if (flag)
                {
                setHiddenSku(ddl);
                }
            }
      }
    if (ddl.options.length > 1)
      {
        ddl.disabled = false;
      }
  }

function getChildSteps(steps)
  {
    var step;
    for (i=0;i<steps.length;i++)
      {
        step = steps[i];
        if (step.isSelected && !step.isLeaf)
          {
            return step.childSteps;
          }
      }
    return steps;
  }

  
function buildElement(type,values)
  {
    var prop;
    var html='<' + type + ' ';
    
    for (prop in values)
      {
        if (typeof (values[prop]) == 'string')
          {
            html += ' ' + prop + '="' + values[prop] + '"';
          }
      }
    html += ' />';
    return html;
  }
  
function buildSwatchImageElement(type,values,tablesname,spanidname)
  {
    var prop;
    var html='<' + type + ' ';
    
    for (prop in values)
      {
        if (typeof (values[prop]) == 'string')
          {
			if ((prop == 'onMouseOver') || (prop == 'onMouseOut') || (prop == 'onClick'))
			{
				html += ' ' + prop + '="' + values[prop].replace('tblSwatches', tablesname).replace('spanid', spanidname) + '"';
			}
			else
			{
				html += ' ' + prop + '="' + values[prop] + '"';
			 }
		 }
      }
    html += ' />';
    return html;
  }
function buildSwatchElement(swatch, tablesname, spanidname)
  {
  var div;
  var image;
 
  div ='<div onClick=\"' + swatch.div.ONCLICK + '\" class=\"' + swatch.div.CLASS + '\">';
   if (swatch.div.Anchor.href == '')
     {
     
       image =  buildSwatchImageElement("img", swatch.div.Anchor.image, tablesname, spanidname);
       div += image;
       div += "</div>"
       return div;
     }
    var anchor;
    var url;
	anchor="<a href=" + swatch.div.Anchor.href;

    
    if (swatch.div.Anchor.href.substring(0,10) != 'javascript')
      {
        url = " onclick=\"OpenPopUp('" + swatch.div.Anchor.href + "','X6Form','toolbar=no,directories=no,menubar=no,scrollbars=yes,resizable=yes,width=650,height=700,top=5,left=5');return false;\"";
        anchor += url;
      }
    else if (rowNumber)
      {
        url = ",'" + thumbnailImageName[rowNumber] + "','" + swatchSpanName[rowNumber] + "');";
        anchor = anchor.replace(");self.scroll(0,0);", url);
      }
      
     anchor += ">" + buildSwatchImageElement("img", swatch.div.Anchor.image, tablesname, spanidname) + "</a>";
     div += anchor + "</div>";
     return div;
  }
  
function setSKULevelAccess()
  {
    var qty = document.getElementById('quantity');
    var addToBag = document.getElementById('addToBag');
    var searchStores = document.getElementById('searchStores');
    var storeCheckZip = document.getElementById('storeCheckZip');
    var disabled;
    var ddl=currentStepDDL;
    
    while (ddl != null)
      {
        disabled = (ddl.selectedIndex == 0);
        ddl = ddl.child;
      }
    
    if (qty)
      {
        qty.disabled = disabled;
      }
    if (addToBag)
      {
        addToBag.disabled = disabled;
      }
    if (searchStores)
      {
        searchStores.disabled = disabled;
      }
    if (storeCheckZip)
      {
        storeCheckZip.disabled = disabled;
      }
  }
  
function getStepIDs (stepDDL)
  {
    var parent = topDDL;
    var current;
    var ID;
    var IDs="";
    if (parent == null)
       {
         return "";
       }
    current = parent;
    while (current != null)
      {
        if (IDs.length > 0)
          {
            IDs += ',';
          }
        ID = current.options[current.selectedIndex].value;
        IDs += ID;
        if (current == stepDDL)
          {
            break;
          }
        current = current.child;
      }
    return IDs;
 
  }
  
function getURL(stepDDL)
  {
    var url=AJAXURL;
    var groupInfo = new Array();
    var qs = new Querystring();
    var delim = (url.indexOf('?') > 0 ? '&':'?');
    if ((qs.get('persist','') != '') && (rowNumber == null))
      {
        url+=delim + 'persist=' + qs.get('persist','');
      }
    else if ((qs.get('action','') != '') && (rowNumber == null))
      {
        url+=delim + 'catnum=' + qs.get('catnum','');
        url+='&action=Edit';
        url+='&itemseq=' + qs.get('itemseq','');
      }
   else if ((qs.get('catnum','') != '') && (rowNumber == null))
      {
        url+=delim + 'catnum=' + qs.get('catnum','');
    
      }
    else
      {
        url+=delim + 'deptid=' + qs.get('deptid','');
        url+='&catid=' + qs.get('catid','');
        if (rowNumber) {
			groupInfo = groupData[rowNumber].split('|');
			url+='&grptyp=' + groupInfo[0];
			url+='&itemid=' + groupInfo[1];
        }
        else {
			url+='&grptyp=' + qs.get('grptyp','');
			url+='&itemid=' + qs.get('itemid','');
        }
      }
    url+='&steps=' + getStepIDs(stepDDL);
    qty = '0';
    if (document.getElementById('quantity'))
      {
        url+='&quantity=' + document.getElementById('quantity').value;
      }
    if (document.getElementById('monogram'))
      {
        url+='&monogram=' + document.getElementById('monogram').value;
      }
    if (document.getElementById('serviceagreement'))
      {
        url+='&serviceagreement=' + document.getElementById('serviceagreement').value;
      }

    return url;
    
  }
  
function setStepValues()
  {
    var ddl = topDDL;
    var child = ddl;
    var index;
    var value;
    
    while (child != null)
      {
        index = child.selectedIndex;
        if (index > 0)
          {
            value = document.createElement("input");
            value.name = "stepValues";
            value.type = "hidden";
            value.value = child.options[index].value;
            document.getElementById('ProductForm').appendChild(value);
          }
        else
          {
            break;
          }
        child = child.child;
      }
    return true;
  }

function getKATable()
  {
    var kaTable = document.getElementById('tblKA');
    if (kaTable)
      {
        return kaTable;
      }
    kaTable = document.createElement("table");
    kaTable.id = "tblKA";
    kaTable.cellSpacing = "4";
    kaTable.border = "0";
    kaTable.align = "right";
    kaTable.insertRow(-1);
    document.getElementById("KACell").appendChild(kaTable);
    return kaTable;
  }
  
function getRITable()
  {
    var riTable = document.getElementById('tblRI');
    if (riTable)
      {
        return riTable;
      }
    riTable = document.createElement("table");
    riTable.id = "tblRI";
    riTable.cellSpacing = "0";
    riTable.border = "0";
    riTable.cellPadding = "0";
    riTable.insertRow(-1);
    document.getElementById("RICell").appendChild(riTable);
    return riTable;
  }
  
function checkAddToBag()
  {
    var ddl=topDDL;
    var message;
    var servAgreement;
    var SALink;

  
    servAgreement = document.getElementById('serviceagreement');
   
    while (ddl != null)
      {
        if (ddl.selectedIndex==0)
          {
            message = document.getElementById('messageText');
            message.innerHTML = 'You must ' + ddl.options[0].text + ' before you can continue.';
            message.style.display = '';
            return false;
          }
        ddl = ddl.child;
      }

   
      if (!persist && (servAgreement && servAgreement.checked == false))
      {
      SALink = document.getElementById('serviceAgreementText');
	   loadCarePrompt(SALink);
	   persist = true;
	   return false;
      }
      persist = false;
	  return true;
  }
  
function AddToBagclose()
{

	AddToBagObj.close();
	
	return false;
}

function CloseFV()
{

	StoreResultOverlayObj.close();
	globalPage = null;
	globalZipCode=null;
	globalDA=null;
	return false;
}

function closeZipDA()
{

CheckDeliveryOverlayObj.close();
return false;
}

function TimerSet()

{
	var t;
	t=setTimeout('AddToBagclose()',9000);			
}


function loadAddToBagPrompt(ATBLot,ATBMedia,ATBSKU,ATBPage,ATBQuantity,ATBNoofItems,ATBServiceInd,ATBNewItems,EOBIND)
{
	var QS;
	var xHeight;
	var NoofItems=ATBNoofItems-ATBNewItems;
	var s = setTimeout('updateHeader()',1500);

	//X6e changes
	
	if ((ATBPage=="X6e") && (ATBNewItems<=3))
	{
	
		if (MSIE)
		{
		 	 	 xHeight = Math.ceil(250 + (21 * NoofItems) + (100 * ATBNewItems));
		}	
		else
		{
		 	 	 xHeight = Math.ceil(225 + (21 * NoofItems) + (100 * ATBNewItems));
		}	 	

	}

	else if (ATBPage=="X6e")

	{
		if (MSIE)
		{
		 	 	 xHeight = Math.ceil(250 + (21 * NoofItems) + 300);
		}	
		else
		{
		 	 	 xHeight = Math.ceil(225 + (21 * NoofItems) + 300);
		}	

	}
	
	//X6 changes

	if ((ATBPage=="X6") && (ATBServiceInd=="T") && (NoofItems>1))
	{
		
		if (MSIE)
		{
		 	 	 xHeight = Math.ceil(330 + (21 * NoofItems));
		}	
		else
		{
				 xHeight = Math.ceil(305 + (21 * NoofItems));
		}	  

	}
	else if ((ATBPage=="X6") && (ATBServiceInd=="T") && (NoofItems<=1))
	{
		if (MSIE)
		{
		 	 	 xHeight = 330;
		}	
		else
		{
				 xHeight = 305;
		}	

	}
	else if ((ATBPage=="X6") && (NoofItems>0))
	{

		if (MSIE)
		{
		 	 xHeight = Math.ceil(275 + (25 * NoofItems));
		}	
		else
		{
			 xHeight = Math.ceil(250 + (25 * NoofItems));
		}
	}
	else if (ATBPage=="X6")
	{

		if (MSIE)
		{
		 	xHeight = 275;
		}	
		else
		{
			xHeight = 250;
		}	

	}


	QS = "L=" + ATBLot + "&M=" + ATBMedia + "&S=" + ATBSKU + "&Q="+ ATBQuantity + "&SI="+ ATBServiceInd + "&EOB="+ EOBIND;
	setMessageProperties(AddToBagObj,295,xHeight,'AddToBagModalDiv',70,470,false,'AddtobagmodalDialog_contentDiv');

	ajax_load(AddToBagObj,'AddToBag.aspx',QS);

	TimerSet();
	
}


function updateHeader()
{

    var lnkItemCount;
    var lnkItemTotal;
    var itemCount;
    var itemTotal;


		lnkItemCount = document.getElementById('itemCountAnchor');
        lnkItemTotal = document.getElementById('itemtotalAnchor');
         
        itemCount  = readCookie('ItemCount');
	    itemTotal =  readCookie('ItemTotal');
       
        if (Math.ceil(itemCount) > 1) itemText = " items";
        else itemText = " item";
         
	    lnkItemCount.innerHTML   = itemCount + itemText;
	    lnkItemTotal.innerHTML  =  "$" + itemTotal;

}


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 loadCarePrompt(SALink,Ind)
{

    var SAUrl;
    var SAQs;
    var newQs;
    
		
		SAUrl = SALink.href;
		SAQs = SAUrl.substring((SAUrl.indexOf('?')) + 1);

		if (Ind)
		{
		  newQs = "ind=T&"
		  SAQs = newQs + SAQs
		}
		setMessageProperties(messageObj,532,390,'carePlanModalDiv');
		ajax_load(messageObj,'careplanprompt.aspx',SAQs);
}


function isValidZipCode(value) 
  {
    var re = /^\d{5}([\-]\d{4})?$/;
    return (re.test(value));
  }

function verifyZip() 
  {
    if (!(isValidZipCode (document.getElementById('storeCheckZip').value))) 
      {
        alert ('Please enter a valid zip code.');
        return false;
      }
    return true;
  }

function stopRKey(evt) 
  {
    var evt = (evt) ? evt : ((event) ? event : null); 
    var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); 
     if ((evt.keyCode == 13) && (node.type=="text") && (node.id!="SearchString"))  {return false;} 
  } 
  function  setHiddenSku(stepDDL)
  {
 
     var skuval;
     var skuarr;
    var addtobag =  document.getElementById('divaddtobag');
     var divitemNA =  document.getElementById('divitemNA');
     var msgtext  = document.getElementById('messageText');
     var qty  = document.getElementById('quantity');
     var qtyid = "dummy";
     var divNaId = "dummy";
     if (rowNumber != null)
     {
     qtyid = QuantityInput[rowNumber];
     divNaId = ItemNAAnchor[rowNumber];
    
     }
   /*   
    if (QuantityInput[rowNumber] ! = null)
     {
		qtyid = QuantityInput[rowNumber];
    }
    
     if (ItemNAAnchor[rowNumber] ! = null)
     {
		divNaId = ItemNAAnchor[rowNumber];
    }*/
    
     var dynamicQty = document.getElementById(qtyid);
     var dynamicItemNa = document.getElementById(divNaId);
      
   var intcount;
     
    
     var child = stepDDL.child;
	
	if (child == null) 
	{
		if (!(stepDDL.selectedIndex == 0))
		{
		
		  skuval = stepDDL.options[stepDDL.selectedIndex].id;
		 skuarr = skuval.split("|");
		 		    
		  if (skuarr[2] == "I")
			{
			hidecontrol(divitemNA,"block")
			hidecontrol(addtobag,"none")
			hidecontrol(dynamicItemNa,"block")
		
			 disableControl(dynamicQty,true);
			 	 disableControl(qty,true);
			}
		  else
		    {
		    hidecontrol(divitemNA,"none")
		    hidecontrol(dynamicItemNa,"none")
		      hidecontrol(msgtext,"none")
		   	
		   	   hidecontrol(addtobag,"block")
		   	    disableControl(dynamicQty,false);
		   	    disableControl(qty,false);
		  
			
			}
		}  
		else
		{
		     hidecontrol(divitemNA,"none")
		      hidecontrol(dynamicItemNa,"none")
		      hidecontrol(msgtext,"none")
		   	   hidecontrol(addtobag,"block")
		   	   disableControl(dynamicQty,false);
		   	     disableControl(qty,false);
			
		}
	return;
	}
	else
	{
	 hidecontrol(divitemNA,"none")
	 hidecontrol(dynamicItemNa,"none")
     hidecontrol(addtobag,"block")
	 disableControl(dynamicQty,false);
	 disableControl(qty,false);
			 
			
	}
	}	
function hidecontrol(control,display)
{
if (control != null)
{
control.style.display = display;
}
}
function disableControl(control,display)
{
if (control != null)
{
control.disabled = display;
}
}


function CheckwherecanIseeit()
{
  	loadZipCityOverlay();      
	//window.event.returnValue = false;
	return false;
}

function ChangeLocation()
{
CloseFV();
loadZipCityOverlay(); 
return false;
}

function loadZipCityOverlay()
{
	var qs='s';
	setMessageProperties(ZipCityOverlayObj,405,318,'ZipCityModalDiv','',195);
	ajax_load(ZipCityOverlayObj,'ZipCityOverlay.aspx',qs);  
	setTimeout("createPageViewTags('ZipCity')",200);
}

function addToBagTags()
{	
	createPageViewTags('DYN Bag Pop-up');
	
}
function setMessageProperties(modalobj,width,height,modalID)
{
	modalobj.setCssClassMessageBox('modalDialog_contentDiv');
	modalobj.setSize(width,height);
	modalobj.setModalId(modalID); 
	modalobj.setShadowDivVisible(true);
}


function closezipCity()
{
	ZipCityOverlayObj.close();		
}

function Onclickclose()
{    
    closezipCity();
    return false;
}


//***Begin BazaarVoice functions for Product Reviews***/

function ratingsDisplayed(totalReviewsCount, avgRating, ratingsOnlyReviewCount, buyAgainPercentage, productID)
{
     if (totalReviewsCount > 0) {
         document.getElementById("BVReviewsContainer").style.display = "block";
	if (typeof jcpBvProdID != 'undefined' || typeof jcpBvProdName != 'undefined' || typeof jcpBvCmCatID != 'undefined')
	 {		
		jcpCreateCMBVTag(totalReviewsCount, avgRating, ratingsOnlyReviewCount, buyAgainPercentage);
	 }
     }
     // Other custom items leveraging these values.
}

//Timeout for review load.  Consider reviews unavailable if not loaded within 15 seconds
setTimeout("BVcheckLoadState()", 15000);
	


		
		
		
		// This creates a XMLRequest (ActiveXObject) to be sent to the server
			
			var strType;
			// This page returns the XML Response for the selected choice
			var AjaxServerPageName = "Retrieverows.aspx";
			var StoreResultsPage = "StoreResults.aspx";
		
			
			//This function is to send the choice into the AJAX Server page for processing
			function callAjax(Type)
			{
				var step = document.getElementById('Zipcodetext');
        		var step1 = document.getElementById('CityStatetext');
				var step2 = document.getElementById('ddlstate');
				var miles1 = document.getElementById('ddlmilesforZip');
				var miles2 = document.getElementById('ddlmilesforState');
				strType = Type;
				var requestUrl ;
				var itemID;
				var itemTyp;
				PopulateQueryString()
	
	itemID = qsParm['ItemID'];
	itemTyp = qsParm['GrpTyp'];
				if ((Type=='Z') || (Type =='DA'))
				{
					if(step.value=="")
					{
					if (Type =='Z')
						{
						document.getElementById("DivZipCityErrorlbl").style.display = "block";
						document.getElementById("DivZipCityErrorlbl").innerHTML = "No Zipcode was entered. Please enter a Zipcode and try again.";
						}
						else
						
						{
						
							document.getElementById("DivZipDelErrorlbl").style.display = "block";
							document.getElementById("DivZipDelErrorlbl").innerHTML = "No Zipcode was entered. Please enter a Zipcode and try again.";
						}
						if (Type=='Z') document.getElementById('DivNoStoreErrorlbl').style.display = 'none';
						//window.event.returnValue = false;
						return  false;
					}
					else
					{
						if(!(isValidZipCode(step.value))) 
						{
							document.getElementById("DivZipCityErrorlbl").style.display = "block";
							document.getElementById("DivZipCityErrorlbl").innerHTML = "<HTML>No stores were found within " + miles1.options[miles1.selectedIndex].value + " miles of ZIP code "  +  step.value +  ". Verify the information you typed in or increase the radius of your search and try again, or simply " +  "<a href='#' onclick='return Onclickclose();'><u>" + " shop.jcp.com" + "</u></a>" + ".</HTML>";
							
							if (Type =='DA')
								{
								document.getElementById("DivZipDelErrorlbl").style.display = "block";
							document.getElementById("DivZipDelErrorlbl").innerHTML = "Please try again. <BR>The ZIP code you searched for was not recognized";
								}
							if (Type=='Z') document.getElementById('DivNoStoreErrorlbl').style.display = 'none';
							//window.event.returnValue = false;
							return  false;
						}
						else
						{	
							if (Type=='Z') requestUrl  = AjaxServerPageName + "?NewZip=" + step.value +   "&miles=" + miles1.options[miles1.selectedIndex].value + "&ItemID=" + itemID + "&Itemtyp=" + itemTyp;
							
						}
					}
				}
				else if ( Type =='C')
				{
					if((step1.value=="") && (step2.options[step2.selectedIndex].value==""))
					{
						document.getElementById("DivZipCityErrorlbl").style.display = "block";
						document.getElementById("DivZipCityErrorlbl").innerHTML = "No City & State was entered. Please enter a City & State and try again.";
						document.getElementById('DivNoStoreErrorlbl').style.display = 'none';
						//window.event.returnValue = false;
						return  false;
					}
					else if(step1.value=="" && step2.options[step2.selectedIndex].value!="")
					{					
						document.getElementById("DivZipCityErrorlbl").style.display = "block";
						document.getElementById("DivZipCityErrorlbl").innerHTML = "No city was entered. Please enter a city and try again.";						
						document.getElementById('DivNoStoreErrorlbl').style.display = 'none';
						//window.event.returnValue = false;
						return  false;
					}	
					else if(step1.value!="" && step2.options[step2.selectedIndex].value=="")
					{
						document.getElementById("DivZipCityErrorlbl").style.display = "block";
						document.getElementById("DivZipCityErrorlbl").innerHTML = "No State was entered. Please select a State and try again.";
						document.getElementById('DivNoStoreErrorlbl').style.display = 'none';
						//window.event.returnValue = false;
						return  false;
					}
					else if(step1.value!="" || step2.options[step2.selectedIndex].value!="")
					{
						requestUrl  = AjaxServerPageName + "?NewCity=" + step1.value  + "&NewState=" + step2.options[step2.selectedIndex].value +  "&miles=" + miles2.options[miles2.selectedIndex].value + "&ItemID=" + itemID + "&Itemtyp=" + itemTyp  ;
					}
				}
				if (Type!='DA')
				{
          			 ajax = new AJAXWrapper(requestUrl, HandleResponse);
					 ajax.sendRequest();
				}
			//	CreateXmlReq();
     			
			//	if(XmlReq)
			//	{
			//		XmlReq.onreadystatechange = HandleResponse;
			//		XmlReq.open("GET", requestUrl, true);						
			//		XmlReq.send();	
			//	}
				//window.event.returnValue = false;
				return  false;
			}



 


			function HandleResponse(request)
			{
			

				
				
				var rowDoc;
				var docElement;
				rowDoc = request.responseXML;
				
				try{
				docElement = rowDoc.documentElement;
				}
				catch(e)
				{
				rowDoc= (new DOMParser()).parseFromString(request.responseText, 'text/xml');
				docElement = rowDoc.documentElement;
				}
				
			
				    
				var step = document.getElementById('Zipcodetext');
				var step1 = document.getElementById('CityStatetext');
				var step2 = document.getElementById('ddlstate');
				var miles1 = document.getElementById('ddlmilesforZip');
				var miles2 = document.getElementById('ddlmilesforState');
				
						var noofStores=docElement.getAttribute('noofStores');
						var nonFurnitureCount = docElement.getAttribute('nonFurnitureCount');
						var ItemCount = docElement.getAttribute('ItemCount');
						var StoreQs = docElement.getAttribute('queryString');
						var FurnitureCount;
						if (noofStores < 1 )
						{ 
							document.getElementById('DivNoStoreErrorlbl').style.display = 'block';
							if (strType=='Z')
							{
								if(step.value!="") 
								{
									document.getElementById("DivNoStoreErrorlbl").innerHTML = "<HTML>No stores were found within " + miles1.options[miles1.selectedIndex].value + " miles of ZIP code "  +  step.value +  ". Verify the information you typed in or increase the radius of your search and try again, or simply " +  "<a href='#' onclick='return Onclickclose();'><u>" + " shop.jcp.com" + "</u></a>" + ".</HTML>";
								}
							}
							else if (strType=='C')
							{
								if(step1.value!="") 
								{
									document.getElementById("DivNoStoreErrorlbl").innerHTML = "<HTML>No stores were found within " + miles2.options[miles2.selectedIndex].value + " miles of "  + step1.value + "," +  step2.options[step2.selectedIndex].value +  ". Verify the information you typed in or increase the radius of your search and try again, or simply " +  "<a href='#' onclick='return Onclickclose();'><u>" + " shop.jcp.com" + "</u></a>" + ".</HTML>";
								}
							}
							document.getElementById('DivZipCityErrorlbl').style.display = 'none';
							return  false;					
						}
						else
						{
						FurnitureCount = noofStores - nonFurnitureCount;
						if (FurnitureCount == 0)
						{
							
							document.getElementById('DivNoStoreErrorlbl').style.display = 'block';
							if (strType=='Z')
							{
								if(step.value!="") 
								{
									document.getElementById("DivNoStoreErrorlbl").innerHTML = "<HTML>No stores were found within " + miles1.options[miles1.selectedIndex].value + " miles of ZIP code "  +  step.value +  " that carry samples of the selected furniture. You can increase the distance and try again, or simply " +  "<a href='#' onclick='return Onclickclose();'><u>" + " shop.jcp.com" + "</u></a>" + ".</HTML>";
								}
							}
							else if (strType=='C')
							{
								if(step1.value!="") 
								{
									document.getElementById("DivNoStoreErrorlbl").innerHTML = "<HTML>No stores were found within " + miles2.options[miles2.selectedIndex].value + " miles of "  + step1.value + "," +  step2.options[step2.selectedIndex].value +  " that carry samples of the selected furniture. You can increase the distance and try again, or simply " +  "<a href='#' onclick='return Onclickclose();'><u>" + " shop.jcp.com" + "</u></a>" + ".</HTML>";
								}
							}
							document.getElementById('DivZipCityErrorlbl').style.display = 'none';
							return  false;		
							
							
							
						}
						else
						{
						
							document.getElementById('DivNoStoreErrorlbl').style.display = 'none';
							document.getElementById('DivZipCityErrorlbl').style.display = 'none';
							
							Onclickclose();
							loadStoreResultOverlay(nonFurnitureCount,ItemCount,StoreQs);      
							return  false;
						}
					}
			}

function loadStoreResultOverlay(nonFurnitureCount,ItemCount,StoreQs)
{
	FVQs=StoreQs;
	
	var width=640;
	
	
	var height = Math.ceil(350 + (145*ItemCount)+(12*nonFurnitureCount));

	setMessageProperties(StoreResultOverlayObj,635,height,'StoreResultModalDiv',120,85);
	ajax_load(StoreResultOverlayObj,'StoreResults.aspx',FVQs);  
	setTimeout("createPageViewTags('Stores')",200);
}


function LoadZipCodeDeliveryOverlay()

{
var qs='';
setMessageProperties(CheckDeliveryOverlayObj,295,212,'ZipCodeDel','',200,false);
ajax_load(CheckDeliveryOverlayObj,'FurnitureDelivery.aspx',qs); 
}

function setMessageProperties(modalobj,width,height,modalID,topOffset,leftOffset,ind,css)
{
	modalobj.setCssClassMessageBox('modalDialog_contentDiv');
	modalobj.setSize(width,height);
	modalobj.setModalId(modalID); 
	modalobj.setLeftandTopOffset(leftOffset,topOffset);
	if(ind) modalobj.setShadowDivVisible(ind);
	else modalobj.setShadowDivVisible(true);
	if(css) modalobj.setCssClassMessageBox(css);
}	


var qsParm = new Array();
function PopulateQueryString() 
{
	var query = window.location.search.substring(1);
	var parms = query.split('&');
	for (var i=0; i<parms.length; i++) 
	{
		var pos = parms[i].indexOf('=');

		if(pos>0) 
		{
		
			var key = parms[i].substring(0,pos);
			var val = parms[i].substring(pos+1);
			
			qsParm[key] = val;
		}
	}
} 
		

//this function build the flash player for the main image
// Temporary variables to hold mouse x-y pos.s

var bigTop = 0
var bigLeft = 0
var xMousePos = 0; // Horizontal position of the mouse on the screen
var yMousePos = 0; // Vertical position of the mouse on the screen
var swatchElem;

function displayswatchoverlay(element,SwatchText,hrefElem,isPos)
{
	var img;
	var swdesc ;
	var strtilde = "~";
	var strDblQuotes = '"'; 
	var strSwatchText = SwatchText.replace(strtilde,strDblQuotes);
	
	swdesc = document.getElementById("swdesc");
	if (swdesc)
	swdesc.innerHTML = strSwatchText;
	//alert('here');
		
	var dim = GetTopLeft(element);


	bigTop = dim.Top - 195;
	bigLeft = dim.Left;
	
	divelem = document.getElementById("divSwatchDisplay");
	divelem.style.zIndex = 90001;
	divelem.style.left = bigLeft + "px";
	divelem.style.top = bigTop + "px";
	divelem.style.visibility = "visible";
	divelem.style.display = "block";   

document.getElementById("bigswatch").src =element.src.replace('hei=35&wid=35','hei=175&wid=175');
swatchElem = element;
	if (isPos == "Y")
	{
		var s = setTimeout("AssignBigImg()",200)
	}
assignvignette(document.getElementById("swdesc"),hrefElem);

	if(browser.IEBrowser && parseInt(browser.version) <= 6)
	
	{
		var iframe
			
		if (document.getElementById("frmeswatch"))
			{
				iframe = document.getElementById("frmeswatch");
				iframe.style.visibility = "visible";
				iframe.style.display = "block"; 
			}
		else
			{
				iframe = document.createElement('<IFRAME src="about:blank" id="frmeswatch" frameborder=0>');
				document.body.appendChild(iframe);
			}	
				iframe.style.zIndex = 90000;
				iframe.style.position = 'absolute';
				iframe.style.left = divelem.style.left;
 				iframe.style.top = divelem.style.top;
 				iframe.style.width = 175;
 				iframe.style.height = 195;


	}
	   
}

function AssignBigImg()
{
document.getElementById("bigswatch").src =swatchElem.src.replace('hei=35&wid=35','hei=175&wid=175');
swatchElem = null;
}

function assignvignette(elem,hrefElem)
{

if(hrefElem && hrefElem.length > 0)
		{
			
			elem.href = "javascript:changeViewerImage('" + hrefElem + "');"
		}
	else
		{
		elem.href = "javascript:changeViewerImage();"
		}
}





function makedefault(tempY,tempX)
{



	var mouseTop = tempY;
	var mouseLeft = tempX;


	if ((mouseTop > bigTop) & (mouseTop < (bigTop + 197)) & (mouseLeft > bigLeft) & (mouseLeft < (bigLeft + 175)) )
	{

		return false;
	}
	else
	{

		_qvWindow = document.getElementById("divSwatchDisplay");
		_qvWindow.style.display = "none";    
		if (document.getElementById("frmeswatch"))
		document.getElementById("frmeswatch").style.display = "none";
	}
}



//this function would call a flash/flex function.
function changeViewerImage(imageName)
{
	var myFlexApp = document.getElementById('ProductViewer');
	if (myFlexApp && imageName)
	{
		myFlexApp.image(imageName);    
	}
}



function GetTopLeft(elm)
{
       var x, y = 0;

    //set x to elm’s offsetLeft
    x = elm.offsetLeft;


    //set y to elm’s offsetTop
	y = elm.offsetTop;


    //set elm to its offsetParent
    elm = elm.offsetParent;


    //use while loop to check if elm is null
    // if not then add current elm’s offsetLeft to x
    //offsetTop to y and set elm to its offsetParent 

    while(elm != null)
     {

        x = parseInt(x) + parseInt(elm.offsetLeft);
        y = parseInt(y) + parseInt(elm.offsetTop);
        elm = elm.offsetParent;
     }

    //here is interesting thing
    //it return Object with two properties
    //Top and Left

    return {Top:y, Left: x};

}







/* Utility functions for drag-drop / browser identification   */

function Browser() {

  var BrowserName;
  var usrAgent;
  var pos;

  this.IEBrowser    = false;
  this.MozBrowser    = false;
  this.version = null;
  this.MACOS = false;
  usrAgent = navigator.userAgent;
 
 
 //OSTest
 OSName = "Mac";
   if ((pos = usrAgent.indexOf(OSName)) >= 0) 
  {
    this.MACOS = true;
  }
 
  BrowserName = "MSIE";
  if ((pos = usrAgent.indexOf(BrowserName)) >= 0) 
  {
    this.IEBrowser = true;
    this.version = parseFloat(usrAgent.substr(pos + BrowserName.length));
    return;
  }

  BrowserName = "Netscape6/";
  if ((pos = usrAgent.indexOf(BrowserName)) >= 0) 
  {
    this.MozBrowser = true;
    this.version = parseFloat(usrAgent.substr(pos + BrowserName.length));
    return;
  }

  // Treat any other "Gecko" browser as NS 6.1.

  BrowserName = "Gecko";
  if ((pos = usrAgent.indexOf(BrowserName)) >= 0) 
  {
    this.MozBrowser = true;
    this.version = 6.1;
    return;
  }
  
 
}


var browser = new Browser();

// Main function to retrieve mouse x-y pos.s

function getMouseXY(event) {
if (browser.IEBrowser) {
    tempX = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    tempY = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.MozBrowser) {
    tempX = event.clientX + window.scrollX;
    tempY = event.clientY + window.scrollY;
  }
makedefault(tempY,tempX);
}



