// common.js
// javascript functions

_objectMoving = "";
_objectMovingIF = "";

_isIE6 = false;
_isIE7 =(navigator.userAgent.indexOf('MSIE 7.0')>=0)?true:false;
_isIE8 =(navigator.userAgent.indexOf('MSIE 8.0')>=0)?true:false;
_isFOX =(navigator.userAgent.indexOf('Firefox')>=0)?true:false;
_isSafari =(navigator.userAgent.indexOf('Safari')>=0)?true:false;
_isIE = (_isIE6||_isIE7)?true:false;
_callHasSpecialAction = false;

// Add to the string object method for trim(), ltrim and rtrim.
// Exemple: var test = "hello ";
//          test = test.trim();
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

function updateButtonClass(amtValue)
{

}



function clearRefineSearchField(){
	$('refineSearchInput').value = '';
}


function clearRefineSearchField(){
	$('refineSearchInput').value = '';
}

function setCityState(city,state,cityField,stateField)
{
		cityField.value = city;
		stateField.value = state;
}


function _isInteger(val) {
			var digits="1234567890";
			for (var i=0; i < val.length; i++) {
				if (digits.indexOf(val.charAt(i))==-1) { return false; }
				}
			return true;
		}


function openShoppingBag(totAmount,MinAmount,addtoUrl)
{
    
	if($('shopBag'))
	{
		document.body.removeChild($('shopBag'));
	}
	
	mainDiv = document.createElement('div');
	mainDiv.id = 'shopBag';
	mainDiv.className = 'shoppingBagContainer';
	
	overlay = document.createElement('div');
	overlay.className = 'overlayBG';
	mainDiv.appendChild(overlay);
	
	iframeEmpty = document.createElement('IFRAME');
	iframeEmpty.className = 'shoppingBagFrameInvisible';
	iframeEmpty.frameBorder = 0;
	iframeEmpty.name = 'iEmpty';
	iframeEmpty.id = 'iShoppingEmpty';
    iframeEmpty.src = '';
				
	mainDiv.appendChild(iframeEmpty);
	
	opaque = document.createElement('div');
	opaque.className = 'opaqueBG';
	mainDiv.appendChild(opaque);

	closeX = document.createElement('input');
	closeX.id = 'windowClose';
	closeX.className = 'button buttonClose';
	closeX.type = 'submit';
	closeX.value = 'x';
	closeX.onclick = closeShopBag;
	opaque.appendChild(closeX);
	
	h2Header = document.createElement('h2');
	h2Header.innerHTML = translate.shoppingBag;
	opaque.appendChild(h2Header);	

	minimumOrder = document.createElement('div');
	minimumOrder.id = 'minOrder';
	minimumOrder.className = 'minimumOrder';
	opaque.appendChild(minimumOrder);
	minimumOrder.innerHTML = '';	
	
	orderSumBar = document.createElement('div');
	orderSumBar.id = 'orderSumBar';
		
	tab1 = document.createElement('div');
	tab1.className = 'prodImage';
	tab1.innerHTML = translate.product;
	
	tab2 = document.createElement('div');
	tab2.className = 'prodDesc';
	tab2.innerHTML = '&nbsp';
	
	tab3 = document.createElement('div');
	tab3.className = 'prodColor';
	tab3.innerHTML = translate.color;
	
	tab4 = document.createElement('div');
	tab4.className = 'prodSize';
	tab4.innerHTML = translate.size;
	
	tab5 = document.createElement('div');
	tab5.className = 'prodPrice';
	tab5.innerHTML = translate.price;
	
	tab6 = document.createElement('div');
	tab6.className = 'prodQty';
	tab6.innerHTML = translate.qty;
	
	tab7 = document.createElement('div');
	tab7.className = 'prodTotal';
	tab7.innerHTML = translate.total;
				
	tab8 = document.createElement('div');
	tab8.className = 'prodRemove';
	tab8.innerHTML = '&nbsp;';
				
	orderSumBar.appendChild(tab1);
	orderSumBar.appendChild(tab2);
	orderSumBar.appendChild(tab3);
	orderSumBar.appendChild(tab4);
	orderSumBar.appendChild(tab5);
	orderSumBar.appendChild(tab6);
	orderSumBar.appendChild(tab7);
	orderSumBar.appendChild(tab8);
	opaque.appendChild(orderSumBar);
				
	iframe = document.createElement('IFRAME');
	iframe.className = 'shoppingBagFrame';
	iframe.frameBorder = 0;
	iframe.name = 'iShopping';
	iframe.scrolling = 'yes';
	iframe.id = 'iShopping';
	iframe.src = '/sharedPages/frontEndComponents/specificComponents/b2c/shoppingCart/shoppingCartDetailsPopUp.cfm';
				
	opaque.appendChild(iframe);
	
	
	iframeLogos = document.createElement('IFRAME');
	iframeLogos.className = 'shoppingBagFrameLogos';
	iframeLogos.frameBorder = 0;
	iframeLogos.name = 'iShoppingLogos';
	iframeLogos.scrolling = 'no';
	iframeLogos.id = 'iShoppingLogos';
	iframeLogos.src = '/sharedPages/presentationLayer/baseTemplates/shoppingCart/shoppingCartDetailsLogos.cfm';
				
	opaque.appendChild(iframeLogos);
	
						
	buttonHolder = document.createElement('div');
	buttonHolder.className = 'buttonHolder clearfix';
				
	kshopping = document.createElement('BUTTON');
	kshopping.className = 'mainButton';
	kshopping.name = 'keepShopping';
	kshopping.id = 'keepShopping';
	kshopping.innerHTML = translate.keepShopping ;
	kshopping.onclick = closeShopBag;
		
	   if(totAmount >=MinAmount)
	   {
	     pclass='shoppingCartCheckout2';
	   }
	   else
	   {
	     pclass='shoppingCartCheckoutGrey mainButton';
	   }
  
	pcheckOut = document.createElement('BUTTON');
	//pcheckOut.type = 'submit';
	pcheckOut.className = 'mainButton';
	pcheckOut.name = 'checkoutB';
	pcheckOut.id = 'checkoutB';
	pcheckOut.innerHTML = translate.checkout ;
	 
	buttonHolder.appendChild(pcheckOut);
	buttonHolder.appendChild(kshopping);
	
	opaque.appendChild(buttonHolder);
	document.body.appendChild(mainDiv);		
	
	if(document.all&&(navigator.userAgent.indexOf('MSIE 7.0')<0) &&(navigator.userAgent.indexOf('MSIE 8.0')<0))
	{
		mainDivIF = document.createElement('IFRAME');		
		mainDivIF.id = 'shopBagIF';
		mainDivIF.className = 'shoppingBagContainer';
		mainDivIF.style.display = 'block';	
		mainDivIF.style.border = "0";	
		mainDivIF.scrolling = "no";
		mainDivIF.frameborder = false;	
		
			
		 //<!--- TODO: write javascript function to get css for non included css. current hard coded--->
		mainDivIF.src = siteUrl + "/sharedPages/presentationLayer/blank.html";
		mainDivIF.zIndex = parseInt(100000)-1;	
		mainDivIF.style.filter = "alpha(opacity=0)";
		mainDivIF.style.position = 'absolute';
		mainDivIF.style.top = '100px';
		mainDivIF.style.left = '50%';
		mainDivIF.style.padding = '30';
		mainDivIF.frameBorder = false;
		mainDivIF.style.width = parseInt(780);		
		mainDivIF.style.height = parseInt(400)+25;
		mainDivIF.style.width = parseInt(780)+11;
		document.body.appendChild(mainDivIF);		
		
	}			
 
}

function printpage() {
		window.print();  
	}
	


function openCoordinatesBag()
{
    
	if($('CoordinatesshopBag'))
	{
		document.body.removeChild($('CoordinatesshopBag'));
	}
	
	mainDiv = document.createElement('div');
	mainDiv.id = 'CoordinatesshopBag';
	mainDiv.className = 'shoppingBagContainer';
	
	overlay = document.createElement('div');
	overlay.className = 'overlayBG';
	mainDiv.appendChild(overlay);
	
	iframeEmpty = document.createElement('IFRAME');
	iframeEmpty.className = 'shoppingBagFrameInvisible';
	iframeEmpty.frameBorder = 0;
	iframeEmpty.name = 'iEmpty';
	iframeEmpty.id = 'iShoppingEmpty';
    iframeEmpty.src = '';
				
	mainDiv.appendChild(iframeEmpty);
	
	opaque = document.createElement('div');
	opaque.className = 'opaqueBG';
	mainDiv.appendChild(opaque);

	closeX = document.createElement('INPUT');
	closeX.id = 'windowClose';
	closeX.className = 'button buttonClose';
	closeX.type = 'submit';
	closeX.value = 'x';
	closeX.onclick = closeCoordinatesshopBag;
	opaque.appendChild(closeX);
	
	h2Header = document.createElement('h2');
	h2Header.innerHTML = translate.coordinatesTitle;
	opaque.appendChild(h2Header);	

	minimumOrder = document.createElement('div');
	minimumOrder.id = 'minOrder';
	minimumOrder.className = 'minimumOrder';
	opaque.appendChild(minimumOrder);
	minimumOrder.innerHTML = '';	
	
	orderSumBar = document.createElement('div');
	orderSumBar.id = 'orderSumBar';
	
	
	tab1 = document.createElement('div');
	tab1.className = 'prodTitle';
	tab1.innerHTML = translate.product;
	
	tab2 = document.createElement('div');
	tab2.className = 'brandTitle';
	tab2.innerHTML = translate.style;
	
	tab3 = document.createElement('div');
	tab3.className = 'colorTitle';
	tab3.innerHTML = translate.color;
	
	tab4 = document.createElement('div');
	tab4.className = 'priceTitle';
	tab4.innerHTML = translate.price;
	
	tab5 = document.createElement('div');
	tab5.className = 'qtyTitle';
	tab5.innerHTML = translate.qty;
	
					
	tab6 = document.createElement('div');
	tab6.className = 'removeTitle';
	tab6.innerHTML = '';
				
	orderSumBar.appendChild(tab1);
	orderSumBar.appendChild(tab2);
	orderSumBar.appendChild(tab3);
	orderSumBar.appendChild(tab4);
	orderSumBar.appendChild(tab5);
	orderSumBar.appendChild(tab6);
	opaque.appendChild(orderSumBar);
				
	iframe = document.createElement('IFRAME');
	iframe.className = 'shoppingBagFrame';
	iframe.frameBorder = 0;
	iframe.name = 'iShopping';
	iframe.id = 'iShopping';
	iframe.src = '/sharedPages/frontEndComponents/specificComponents/b2c/coordinates/coordinatesDetails.cfm';
				
	opaque.appendChild(iframe);
				
	buttonHolder = document.createElement('div');
	buttonHolder.className = 'buttonHolder clearfix';
				
	addtobag = document.createElement('BUTTON');
	addtobag.className = 'shoppingCartCheckoutGrey mainButton';
	addtobag.name = 'addToBag';
	addtobag.id = 'addToBag';
	addtobag.innerHTML = 'Add to my bag'+ ' &raquo;';
	addtobag.onclick = closeCoordinatesshopBag;
		
	
	
	buttonHolder.appendChild(addtobag);
	
	opaque.appendChild(buttonHolder);
	document.body.appendChild(mainDiv);				
 
}



function closeShopBag() {
	

	//Fix for Ie7
	hiddenInput = document.createElement('INPUT');
	hiddenInput.type = 'text';
	hiddenInput.id = 'ieFix_hiddenField';
	hiddenInput.style.position = 'absolute';
	hiddenInput.style.top = '-33330px';
	hiddenInput.style.left = '-33330px';
	document.body.appendChild(hiddenInput)
		
	document.body.removeChild($('shopBag'));
	$('ieFix_hiddenField').focus();
	
	if(document.all&&(navigator.userAgent.indexOf('MSIE 7.0')<0) &&(navigator.userAgent.indexOf('MSIE 8.0')<0))
	{
		document.body.removeChild($('shopBagIF'));
	}
	
}


function closeCoordinatesshopBag() {
	

	//Fix for Ie7
	hiddenInput = document.createElement('INPUT');
	hiddenInput.type = 'text';
	hiddenInput.id = 'ieFix_hiddenField';
	hiddenInput.style.position = 'absolute';
	hiddenInput.style.top = '-33330px';
	hiddenInput.style.left = '-33330px';
	document.body.appendChild(hiddenInput)
		
	document.body.removeChild($('CoordinatesshopBag'));
	$('ieFix_hiddenField').focus();
	
	if(document.all&&(navigator.userAgent.indexOf('MSIE 7.0')<0) &&(navigator.userAgent.indexOf('MSIE 8.0')<0))
	{
		document.body.removeChild($('shopBagIF'));
	}
	
}



	




boxesToClose = new Array('searchBox','shoppingBagWindow','myAccountBox');

function showBoxAndSetPosition(e,id)
{   
  	for(x=0;x<boxesToClose.length;x++)
  	{
  		hideBox(boxesToClose[x]);
  	}
  	
  //	setLeft = (_isFOX)?e.offsetLeft:getLeftPos(e);
  	
  	//$(id).style.left = e.offsetLeft+'px';
  	
  //	widthAdjust = (_isFOX)?1:-3;
  //	leftAdjust = (_isFOX)?6:9;
  	
  //	$(id).style.left = (setLeft-leftAdjust)+'px';
  //	$(id).style.width = (e.offsetWidth-widthAdjust)+'px';
  	$(id).style.display = 'block';
  	
}

//Used for IE
function getLeftPos(e)
{
	z = 0;
  	myElement = e;
  	while(myElement.tagName != 'BODY')
  	{
  		z+=myElement.offsetLeft;
  		myElement = myElement.parentNode;
  	}
  	
  	return z;
}

function getTopPos(e)
{
	z = 0;
  	myElement = e;
  	while(myElement.tagName != 'BODY')
  	{
  		z+=myElement.offsetTop;
  		myElement = myElement.parentNode;
  	}
  	
  	return z;
}


function hideBox(id)
{   
  	$(id).style.display = 'none';
}

var timer;

function ShowShopingCartPopUpDelay()
{

	if($('shoppingBagWindow').style.display != 'block')
	{
		timer = setTimeout('ShowShopingCartPopUp()',300);
	}
}

function ShowShopingCartPopClearTimeout()
{
	clearTimeout(timer);
}



function ShowShopingCartPopUp()
{	
	DWREngine._execute(_cfCatLevelsLocation, null, 'getShoppingbagBoxInfo','',ShowShoppingBoxText);	
}

function ShowShoppingBoxText(result)
{
   boxesToClose = new Array('searchBox','shoppingBagWindow','myAccountBox');
   for(x=0;x<boxesToClose.length;x++)
 	{
 		hideBox(boxesToClose[x]);
 	}
   
	showCountObj = $('ShoppingBagInfoLine');
	showCountObj.innerHTML = result[0].AMOUNT + ' item(s)';
	
	if (result[0].AMOUNT != '0')
	{
		$('miniShoppingCartPromotion').innerHTML = result[0].SHOPPINGBAGBANNER;
		$('ShippingBagLineItems').innerHTML = result[0].SHOPPINGBAGTEXT;
		$('shoppingBagWindow').style.display = 'block';
		//showBoxAndSetPosition(passE,passId);	
	}		

	
}


function changeClassName(theitem, NewclassName) {
  if((document.getElementById(theitem).className != NewclassName)) {
    document.getElementById(theitem).className = NewclassName;
  } else {
    document.getElementById(theitem).className = 'clearfix';
  }
}

function toggleOneItem(theitem) {
  if((document.getElementById(theitem).style.display == 'block') || (document.getElementById(theitem).style.display == -1))
  	{
    document.getElementById(theitem).style.display = 'none';
    document.getElementById('invisibleFrame').style.display = 'none';
    }
  else
    document.getElementById(theitem).style.display = 'block';
}


function openWindow(theURL,w,h) {
  posx=(screen.availWidth-w)/2;
  posy=(screen.availHeight-h)/2;
  window.open(theURL,'popup','toolbar=no,location=no,status=no,menubar=no,scrollbars=auto,resizable=yes'+',width='+w+',height='+h+',left='+posx+',top='+posy);
}

function getPageScroll(){

	var yScroll, arrayPageScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}

// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
// Edit for Firefox by pHaez
//
function getPageSize(){
	
	var xScroll, yScroll, pageHeight, pageWidth, arrayPageSize;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

function findClassProperties(style,rule)
{
      styles = document.styleSheets;
      for(x=0;x<styles.length;x++)
      {
            href = styles[x].href;
      
            if(href.indexOf(window.location.hostname) >= 0 && href.indexOf(style))  
            {
                  rules = (styles[x].rules)?styles[x].rules:styles[x].cssRules;
                  
                  for(zz=0;zz<rules.length;zz++)
                  {
                        temp1 = rules[zz];
                        temp2 = rule;
                              
                        if(temp1.type!=3)
                        {     
                              if(temp1.selectorText.toUpperCase() == rule.toUpperCase())
                              {
                                    return rules[zz]; 
                              }           
                              
                        }     
                  }                                                     
            }                 
      }
}


_cssClass = "";

function showAlert(obj) {
	
	var url, message, targetAlert, cssClass, closeBText, hideCloseBtn, closeOtherDialogs, outerClass, title, refreshAfterClose;
	
	url = (obj.url === undefined)?'':obj.url;
	message = (obj.message === undefined)?'':obj.message;
	targetAlert = (obj.target === undefined)?'alertbox':obj.target;	
	cssClass = (obj.cssClass === undefined)?'alertbox':obj.cssClass;
	closeBText = (obj.closeBText === undefined)?'X':obj.closeBText;
	hideCloseBtn = (obj.hideCloseBtn === undefined)?false:obj.hideCloseBtn;
	closeOtherDialogs = (obj.closeOtherDialogs === undefined)?true:obj.closeOtherDialogs;
	outerClass = (obj.outerClass === undefined)?'':obj.outerClass;
	hasResolveURL = !(obj.resolveURL === undefined);
	title = (obj.title === undefined)?'':obj.title;
		
	var args = {
			MESSAGE: message
		,	URL: url
		,	CLOSEBUTTONTEXT: closeBText
		,	TEMPLATE: 1
		,	DIVID: targetAlert
		,	CSSCLASS: cssClass
		,	HIDECLOSEBTN: hideCloseBtn
		,	CLOSEOTHERDIALOGS: closeOtherDialogs
		,	OUTERCLASS: outerClass
		,	TITLE: title
	};
	
	if ( hasResolveURL )
		args.resolveURL = obj.resolveURL;
	
	if ( message != "" ) {
		
		args.PARAMS = args;
		
		args.CONTENT = message;
		
		callText_Result( args );
				
	} else {
	
		j$.post(
				siteUrl + "/com/b2c/genericProxy.cfc?returnFormat=json&method=getText"
			,	args
			,	callText_Result
			,	"json"
		);

	}
	
}

function showAlert2(obj) {
	
	var url, message, targetAlert, cssClass, closeBText, hideCloseBtn, closeOtherDialogs, outerClass;
	
	url = (obj.url === undefined)?'':obj.url;
	message = (obj.message === undefined)?'':obj.message;
	targetAlert = (obj.target === undefined)?'alertbox':obj.target;	
	cssClass = (obj.cssClass === undefined)?'alertbox':obj.cssClass;
	closeBText = (obj.closeBText === undefined)?'X':obj.closeBText;
	hideCloseBtn = (obj.hideCloseBtn === undefined)?false:obj.hideCloseBtn;
	closeOtherDialogs = (obj.closeOtherDialogs === undefined)?true:obj.closeOtherDialogs;
	outerClass = (obj.outerClass === undefined)?'':obj.outerClass;
	hasResolveURL = !(obj.resolveURL === undefined);
	
	var args = {
			MESSAGE: message
		,	URL: url
		,	CLOSEBUTTONTEXT: closeBText
		,	TEMPLATE: 1
		,	DIVID: targetAlert
		,	CSSCLASS: cssClass
		,	HIDECLOSEBTN: hideCloseBtn
		,	CLOSEOTHERDIALOGS: closeOtherDialogs
		,	OUTERCLASS: outerClass
	};
	
	if ( hasResolveURL )
		args.resolveURL = obj.resolveURL;
	
	if ( message != "" ) {
		
		args.PARAMS = args;
		
		args.CONTENT = message;
		
		callText_Result2( args );
				
	} else {
	
		j$.post(
				siteUrl + "/com/b2c/genericProxy.cfc?returnFormat=json&method=getText"
			,	args
			,	callText_Result2
			,	"json"
		);

	}
	
}

function showPopUp(obj) {
	
	url = (!obj.url)?'':obj.url;
	message = (!obj.message)?'':obj.message;
	targetAlert = (!obj.target)?'alertbox':obj.target;	
	cssClass = (!obj.cssClass)?'alertbox':obj.cssClass;
	closeBText = (!obj.closeBText)?'x':obj.closeBText;
	checkObject = $(targetAlert);
	checkObjectIF = $(targetAlert+'IF');	
	
	if(checkObject!=null)
	{			
		killAlertBox();
	}
					
	_objectMoving = document.createElement('div');
	
	_objectMoving.id = targetAlert;
	_objectMoving.className = cssClass;
	_objectMoving.style.display = 'block';
	
	if(document.all&&(navigator.userAgent.indexOf('MSIE 7.0')<0) &&(navigator.userAgent.indexOf('MSIE 8.0')<0))
	{
		_objectMovingIF = document.createElement('IFRAME');		
		_objectMovingIF.id = targetAlert+'IF';
		_objectMovingIF.className = cssClass;
		_objectMovingIF.style.display = 'block';	
		_objectMovingIF.style.border = "0";	
		_objectMovingIF.scrolling = "no";
		_objectMovingIF.frameborder = false;		
	}		
				
	_cssClass = '.'+cssClass;	
	
	DWREngine._execute(_cfCatLevelsLocation, null, 'getProductInfo',message,closeBText,callText_Result);
}




function callText_Result2(result)
{
	
	
	try{
		result.CONTENT = decodeURIComponent( result.CONTENT );
	} catch(e) {}
	
	if ( result.CLOSEOTHERDIALOGS ) {
		j$( ".ui-dialog-content" ).each( function () {
			try {
				j$( this ).dialog( "close" );
			} catch (e) {}
		});
	}

	var jAlert = j$("<div id='" + result.PARAMS.DIVID + "' class='" + result.PARAMS.CSSCLASS + "'></div>").html( '<div class="topBG"><div class="alertContent">'+result.CONTENT+'</div></div>' ).appendTo("body").hide();

	jAlert.dialog({
			width: jAlert.css('width')
		,	autoOpen: true
		,	modal: true
		, 	dialogClass: result.PARAMS.OUTERCLASS
		
	});
	
	if ( result.PARAMS.HIDECLOSEBTN )
		jAlert.parent().find( ".ui-dialog-titlebar" ).hide();
	
	
	j$( "div.ui-widget-overlay" ).bind( "click", function () { closeAllDialogs(); });
	
	
	if(_callHasSpecialAction)
	{
		eval(_callHasSpecialAction);
		_callHasSpecialAction = null;
	}			

}



function callText_Result(result)
{
	

	try{
		result.CONTENT = decodeURIComponent( result.CONTENT );
	} catch(e) {}

	if ( result.PARAMS.CLOSEOTHERDIALOGS ) {
		j$( ".ui-dialog-content" ).each( function () {
			try {
				j$( this ).dialog( "close" );
			} catch (e) {}
		});
	}

	var jAlert = j$("<div id='" + result.PARAMS.DIVID + "' class='" + result.PARAMS.CSSCLASS + "'></div>").html( '<div class="topBG"><div class="alertContent">'+result.CONTENT+'</div></div>' ).appendTo("body").hide();
	
	jAlert.dialog({
			width: jAlert.css('width')
		,	autoOpen: true
		,	modal: true
		, 	dialogClass: result.PARAMS.OUTERCLASS
		,	close: showalertClose
	});
	
	if ( result.PARAMS.HIDECLOSEBTN )
		jAlert.parent().find( ".ui-dialog-titlebar" ).hide();
	else
		jAlert.parent().find( "#ui-dialog-title-alertbox" ).html( result.PARAMS.TITLE );
	
	j$( "div.ui-widget-overlay" ).bind( "click", function () { closeAllDialogs(); });
	
	
	if(_callHasSpecialAction)
	{
		eval(_callHasSpecialAction);
		_callHasSpecialAction = null;
	}			

}

function showalertClose(){
		
}

function closeAllDialogs()
{
	
	j$( ".ui-dialog-content, .ui-dialog, .ui-widget-overlay" ).each( function () {
		try {
			j$( this ).dialog( "destroy" ).remove();
		} catch (e) {}
	});
	
}

openScheduleAppointmentOverlay = function (storeLocID, site, title, m, d, y ) {
	parent.closeAllDialogs();
	url = site + '/eng/emptyTemplateSection/redirect.cfm?sectionID=b2c/storeLocator/scheduleAppointment.cfm&storeLocation='+storeLocID;
	
	if ( m )
		url += "&month=" + m;
	if ( d )
		url += "&day=" + d;
	if ( y )
		url += "&year=" + y;
	
	var jIF = j$( "<div id='alertbox'><div class='topBG'><div class='alertContent'><h2>" + title + "</h2><iframe id='scheduleAppointment' src='' width='600' height='480' border='0' frameBorder='0' scrolling='no'></iframe></div></div></div>" );

	jIF.dialog({
			width: jIF.css('width')
		,	autoOpen: true
		,	modal: true
		, 	dialogClass: "alertboxBig"
		
	});
	
	$('scheduleAppointment').src = url;
	
	return false;
}

openScheduleAppointmentConfirmationOverlay = function ( site, obj ) {
	parent.closeAllDialogs();

	if (obj.SUCCESS)
		result = 'success~true,first_name~'+obj.CLIENTINFO.FIRST_NAME+',last_name~'+obj.CLIENTINFO.LAST_NAME+',location_name~'+obj.STOREINFO.LOCATION_NAME+',telephone~'+obj.STOREINFO.TELEPHONE+',firstdate~'+obj.APPOINTMENTINFO.FIRSTDATE+',firsttime~'+obj.APPOINTMENTINFO.FIRSTTIME;
	else
		result = 'success~false';
	
	url = site + '/eng/emptyTemplateSection/redirect.cfm?sectionID=b2c/storeLocator/scheduleAppointment.cfm&result='+result;
	
	parent.showAlert({url:url,targetAlert:'alertbox',cssClass:'alertboxBig'});

	return false;
}

function openAddress(url, pageWidth, pageHeight, dialogClass)
{
	if(!pageWidth){
		pageWidth = 620;
	}

	if(!pageHeight){
		pageHeight = 400;
	}

	if(!dialogClass){
		dialogClass = "popPage";
	}

	if($('shopBag'))
	{
		document.body.removeChild($('shopBag'));
	}
	
	j$( '<div class="iframeInnerCtn"><iframe src="' + url + '" width="' + pageWidth + '" height="' + pageHeight + '" frameborder="0"></iframe></div>' ).dialog({
			autoOpen: true 
		,	resize: 'auto'
		,	width: pageWidth
		,	dialogClass: dialogClass // iframeOuterCtn
	});
	
	// outerClass:'popPage'
	
	return false;

	mainDiv = document.createElement('div');
	mainDiv.id = 'addressPopup';
	mainDiv.className = 'addAddress';
	
	overlay = document.createElement('div');
	overlay.className = 'overlayBG';
	mainDiv.appendChild(overlay);
	
	
	iframeEmpty = document.createElement('IFRAME');
	iframeEmpty.className = 'shoppingBagFrameInvisible';
	iframeEmpty.frameBorder = 0;
	iframeEmpty.name = 'iEmpty';
	iframeEmpty.id = 'iShoppingEmpty';
    iframeEmpty.src = '';
				
	mainDiv.appendChild(iframeEmpty);
	
	opaque = document.createElement('div');
	opaque.className = 'opaqueBG';
	mainDiv.appendChild(opaque);

	closeX = document.createElement('input');
	closeX.id = 'windowClose';
	closeX.className = 'button buttonClose';
	closeX.type = 'submit';
	closeX.value = 'x';
	closeX.onclick = closeAddressPopup;
	opaque.appendChild(closeX);
	
	
				
	iframe = document.createElement('IFRAME');
	iframe.className = 'shoppingBagFrame';
	iframe.frameBorder = 0;
	iframe.name = 'iShopping';
	iframe.scrolling = 'yes';
	iframe.id = 'iShopping';
	iframe.src = url;
				
	opaque.appendChild(iframe);
	document.body.appendChild(mainDiv);		
	
	if(document.all&&(_ieversion<7))
	{
		mainDivIF = document.createElement('IFRAME');		
		mainDivIF.id = 'shopBagIF';
		mainDivIF.className = 'shoppingBagContainer';
		mainDivIF.style.display = 'block';	
		mainDivIF.style.border = "0";	
		mainDivIF.scrolling = "no";
		mainDivIF.frameborder = false;	
		
			
		 //<!--- TODO: write javascript function to get css for non included css. current hard coded--->
		mainDivIF.src = siteUrl + "presentationLayer/blank.html";
		mainDivIF.zIndex = parseInt(100000)-1;	
		mainDivIF.style.filter = "alpha(opacity=0)";
		mainDivIF.style.position = 'absolute';
		mainDivIF.style.top = '100px';
		mainDivIF.style.left = '50%';
		mainDivIF.style.padding = '30';
		mainDivIF.frameBorder = false;
		mainDivIF.style.width = parseInt(780);		
		mainDivIF.style.height = parseInt(400)+25;
		mainDivIF.style.width = parseInt(780)+11;
		document.body.appendChild(mainDivIF);		
		
	}			

}



function killAlertBox(divID,divIF)
{

	if (!divID || divID == '')
	{
		document.body.removeChild(_objectMoving);
		if(document.all&&(navigator.userAgent.indexOf('MSIE 7.0')<0) &&(navigator.userAgent.indexOf('MSIE 8.0')<0))
		{
				document.body.removeChild(_objectMovingIF);			
		}	
	}
	else
	{
		DivObj = document.getElementById(divID);
		document.body.removeChild(DivObj);
     
     		
		if(document.all&&(navigator.userAgent.indexOf('MSIE 7.0')<0) &&(navigator.userAgent.indexOf('MSIE 8.0')<0))
		{
			DivIFObj = document.getElementById(divID+'IF');
			document.body.removeChild(DivIFObj);
		}

	}
	
	j$('div#modal').remove();
							
}					

lineCount = 0;
lastDrop = 2;


function deleteClone(o,msg)
{

	AmountOfRows = document.getElementById("lineItemsHolder").getElementsByTagName('DIV');
	
	countRows = 0;
	
	for(i=0;i<AmountOfRows.length;i++)
	{
		if(AmountOfRows[i].id.indexOf('lineItem_color_') >= 0)
		{
			countRows++;
		}
	}
	
	

	if (countRows > 1)
	{
		count = parseInt(o.id.split('_')[1]);
		TopParent = document.getElementById("lineItemsHolder"); 
		
		ColorChild = document.getElementById("lineItem_color_"+count); 
		SizeChild = document.getElementById("lineItem_size_"+count); 
		QtyChild = document.getElementById("lineItem_qty_"+count); 
		
		TopParent.removeChild(ColorChild);
		TopParent.removeChild(SizeChild);
		TopParent.removeChild(QtyChild);
	}
	else
	{
		showAlert({message:msg,closeBText:'x',cssClass:'alertboxSmall'});
	}
}

function cloneItemLine(o)
{
	count = parseInt(o.id.split('_')[1]);
	idCount = lastDrop + 1;
	lineCount++
	
	//Color	
	toClone = $('lineItem_color_'+count).cloneNode(true);
	toCloneInner = toClone.innerHTML;
	
	toCloneInner = 	setDropDownObjects(toCloneInner,'colorId-',count*3,idCount,lineCount);
	
	
	
	div1 = document.createElement('DIV');
	div1.id = 'lineItem_color_'+lineCount;	
	div1.className = 'selectBlockLong'; 
	div1.innerHTML = toCloneInner;
	
	
	$('lineItemsHolder').appendChild(div1);

	_listMenus.addMember('menuWrap_'+idCount);
			
	_listMenus.assignEvent("dropDownColorActions('colorId-"+lineCount+"');",idCount);
	
	menuColorWrapId = idCount;
	
	//Size
	toClone = $('lineItem_size_'+count).cloneNode(true);
	toCloneInner = toClone.innerHTML;
	idCount = parseInt(idCount)+1;
	
	
	toCloneInner = 	setDropDownObjects(toCloneInner,'sizeID-',count*3+1,idCount,lineCount);
	
	div2 = document.createElement('DIV');
	div2.id = 'lineItem_size_'+lineCount;
	div2.className = 'selectBlockShort'; 
	div2.innerHTML = toCloneInner;
	$('lineItemsHolder').appendChild(div2);

	_listMenus.addMember('menuWrap_'+idCount);
	
	//Qty
	toClone = $('lineItem_qty_'+count).cloneNode(true);
	toCloneInner = toClone.innerHTML;
	idCount = parseInt(idCount)+1;
	
	toCloneInner = 	setDropDownObjects(toCloneInner,'qty-',count*3+2,idCount,lineCount);
	
	
	
	addImg = 'add_' + count;
	addImgNew = 'add_' + lineCount;
	toCloneInner = toCloneInner.replace(addImg,addImgNew);
	
	minusImg = 'minus_' + count;
	minusImgNew = 'minus_' + lineCount;
	toCloneInner = toCloneInner.replace(minusImg,minusImgNew);
	
	div3 = document.createElement('DIV');
	div3.id = 'lineItem_qty_'+lineCount;
	div3.className = 'selectBlockMedium'; 
	div3.innerHTML = toCloneInner;
	$('lineItemsHolder').appendChild(div3);
	_listMenus.addMember('menuWrap_'+idCount);
	
	_affect = 'sizeID-'+lineCount;
	_resultKeys = new Array('SKU_ID','SIZE_DESC');
	_res = new Array();
	dropDownSetRelation(_res);
	
	setCurrentMenu($('menuSelect_'+menuColorWrapId));
	selectMenu($('colorId-'+lineCount+'_0'))
	
	lastDrop +=3; 
}

function setDropDownObjects(str,valObj,c,idc,seq){
	
	str = str.replace('menuWrap_'+c,'menuWrap_'+idc);
	str = str.replace('menuSelect_'+c,'menuSelect_'+idc);
	str = str.replace('menuHeader_'+c,'menuHeader_'+idc);
	str = str.replace('menuArrow_'+c,'menuArrow_'+idc);
	str = str.replace('menuBody_'+c,'menuBody_'+idc);
	str = str.replace('add_'+c,'add_'+idc);
	
	RXstr = valObj+count;
	str = str.replace(eval('/'+RXstr+'/g'),valObj+seq);
	
	str = str.replace(/_listMenus./g,'//_listMenus.');
	
	return str;
}

_itemId = '';

// Color and size drop down relation 
//onRadioColorClick
function dropDownColorActions(img_value,page)
{
 			
 switch (page)
		{
			case 'bed':
	
					//alert(img_value);
					img_value = img_value.split('|');
					img_ColorID	= img_value[0];
					img_price	= img_value[1];
					img_priceOnSale = img_value[2];
					if(img_value[4]) convertPriceMonthly=img_value[4];
					
					if(img_value!='')
					{
			
						/*priceDescription = ''
						priceDescription = translate.productprice+':'+'<span class="mainPrice">'+img_price+'</span><br/>';
						if(img_priceOnSale != ''){
							priceDescription = priceDescription + ' |' + translate.productonSale + img_priceOnSale;
						}
						
						if(img_value[4]) 
							priceDescription=priceDescription+'<br>'+translate.productpriceper+convertPriceMonthly+'<br>'+translate.productpriceperM
							+"<a href='javascript:callSubmit();'>"+'Apply Now'+'</a>';
							
						
							
						if($("ourPrice"))
						{
							$("ourPrice").innerHTML =priceDescription;
						}	
						*/
						
						bypassImageZoomer = false;
						if(_itemId=='')
						{
							_itemId = img_value[3];
							bypassImageZoomer = true;
						}	
						getDimensionDetails(img_ColorID,_itemId);
					    if(!bypassImageZoomer)
					    {
							setImageZoomer();	
						}
						
					} else {
						if(document.forms['addToCart'].DimensionSelectBox)
							document.forms['addToCart'].DimensionSelectBox.options.length = 1;
						
						if(document.forms['addToCart'].SizeSelectBox)	
							document.forms['addToCart'].SizeSelectBox.options.length = 1;
						//if($("ourPrice"))
							//$("ourPrice").innerHTML =''; 	
					}	
					break;
		case 'accessories':
		
			  	    img_value = img_value.split('|');
			  	    img_ColorID	= img_value[0];
					img_price	= img_value[1];
			  	    img_minPrice = img_value[5];
					img_maxPrice = img_value[6];
					
					colorLen=$('color').options.length;
					 for(i=0;i<colorLen;i++)
					  {
					   str='swatchImg'+$('color').options[i].value;
					   str=str.split('|');
					    if ($(str[0]))
					      $(str[0]).style.border='1px solid #ffffff';
					 
					  }
					 str='swatchImg'+img_ColorID;
					if ($(str))
					   $(str).style.border='1px solid #c9d8e5';//to be changed by a css
					
					
					
					
					if(img_value!='')
					{
						priceDescription = ''
						
						if (img_minPrice == img_maxPrice)
							priceDescription = translate.productprice + ': ' + img_price;
							
						else
							priceDescription = translate.productprice + ': ' + img_minPrice +' to '+img_maxPrice;	
						
						//if($("ourPrice"))
							//$("ourPrice").innerHTML =priceDescription;
						
						bypassImageZoomer = false;
						if(_itemId=='')
						{
							_itemId = img_value[3];
							bypassImageZoomer = true;
						}	
				
						getDimensionDetails(img_ColorID,_itemId);
					
					    if(!bypassImageZoomer)
					    {
							setImageZoomer();	
						}	
								
					}
					else
					{
						if(document.forms['addToCart'].DimensionSelectBox)
							document.forms['addToCart'].DimensionSelectBox.options.length = 1;
						
						if(document.forms['addToCart'].SizeSelectBox)	
							document.forms['addToCart'].SizeSelectBox.options.length = 1;
						//if($("ourPrice"))
							//$("ourPrice").innerHTML =''; 
						 if($("mainPrice"))
      						$("mainPrice").innerHTML='';	
						
					}	
					
					
					
					
		break;
		
  }
}



function dropDownColorFromQuickView(idx)
{
	img_value	= $(idx).value;

	img_value = img_value.split('|');
	img_ColorID	= img_value[0];
	img_price	= img_value[1];
	
	if(img_value[8]) convertPrice=img_value[8];
	if(img_value[9]) convertPriceONSale=img_value[9];
	if(img_value[10]) convertPriceMember=img_value[10];
	
	if($(idx).value != '' && $(idx).value != '0')
	{
		relationId = $(idx).id.split('-')[1];
		
		
		if(img_value[2]!='' && img_value[2] != '0.00')
		 {
		  img_priceOnSale	= '| <span class="sale">$'+img_value[2]+' '+ $('SaleText').value  +'</span>';
		 }
		 else
		 {
		 	img_priceOnSale	= '';
		 }
		 
		 if($("newproduct").value == 'Y' && img_priceOnSale == '')
		 {
		 	if($('actualCurLang').value == 'fre')
		 		isNew = '| NOUVEAU';
		 	else
				isNew = '| NEW';
		 }
		 else
		 {
		 	isNew = '';
		 }
		
		
		if($("ItemPriceValueID"))
		{
			$("ItemPriceValueID").innerHTML = '$'+ img_price +' '+img_priceOnSale + ' ' + isNew;
			if(img_value[7]) $("ItemPriceValueID").innerHTML=$("ItemPriceValueID").innerHTML+'<br>'+img_value[7];
			
			
			
			if(img_value[8]) $("ItemPriceValueID").innerHTML=$("ItemPriceValueID").innerHTML+'<br> ( '+convertPrice;
			if(img_value[9]) $("ItemPriceValueID").innerHTML=$("ItemPriceValueID").innerHTML+' | '+convertPriceONSale;
			if(img_value[10]) $("ItemPriceValueID").innerHTML=$("ItemPriceValueID").innerHTML+' | '+convertPriceMember;
			if(img_value[8]) $("ItemPriceValueID").innerHTML=$("ItemPriceValueID").innerHTML+' ) ';
		}
		
		_itemId = $('itemID').value;	
		
		getSizesQuickView(img_ColorID,_itemId);
		
	}
	else
	{

		$('colorId-0').value = '';
		
	}	
	
}


 function getSizesQuickView(colorId,itemId)
{
	DWREngine._execute(_cfCatLevelsLocation, null, 'getSizesByColorItem',itemId,colorId,updateSelectQuickView_result);
}


function updateSelectQuickView_result(result)
{
	_resultKeys = new Array('SKU_ID','SIZE_DESC');	
	dropDownSetRelation(result);
	setColorIMageQuickView();
}

function setColorIMageQuickView(){	

	if (img_value[5] == '')
	{
		$('productImageQV').src = '/static/webUpload/730/noImg_3.jpg';
	}
	else
	{
 		$('productImageQV').src = '/_static/webUpload/731/'+img_value[5];
	}
}

function FocusNextField(CurrentFieldname, NextFieldName, ActivateLength)
{
	currentField = document.getElementById(CurrentFieldname);
	nextField = document.getElementById(NextFieldName);
	
	if(currentField.value.length == ActivateLength)
		nextField.focus();
}


function changeLanguageUrlRewrite(lang)
{
	urlPath = window.location.href;
 	urlPath = urlPath.toString();
 	
 	
 	if (lang == 'eng')
 	{
 		if(urlPath.indexOf('/eng/') > -1)
	 		urlPath = urlPath.replace('/eng/','/fre/');
	 	else
	 	{
	 		if(urlPath.indexOf('lang=eng') > -1)
	 			urlPath = urlPath.replace('lang=eng','lang=fre');
	 		else
	 			urlPath = urlPath + '&lang=fre';
	 			
	 	}
	 }
	else
	{
		if(urlPath.indexOf('/fre/') > -1)
			urlPath = urlPath.replace('/fre/','/eng/');	
		else
	 	{
	 		if(urlPath.indexOf('lang=fre') > -1)
	 			urlPath = urlPath.replace('lang=fre','lang=eng');
	 		else
	 			urlPath = urlPath + '&lang=eng';
	 	}
	}
		
	window.location.href = urlPath;
}


function showQuickView(o,direct)
{

	img = o.getElementsByTagName('IMG');
	divId = o.id.split('_')[1];
	imgExists = (img.length > 0)?true:false;
	
	divClassName = $('d_'+divId).className;
	if (_isFOX) {
		setLeft = (_isFOX)?o.offsetLeft:getLeftPos(o);
		setTop = (_isFOX)?o.offsetTop:getTopPos(o);
	} else {
		setLeft = (_isSafari)?o.offsetLeft:getLeftPos(o);
		setTop = (_isSafari)?o.offsetTop:getTopPos(o);
	}
	
	
	if(direct.toUpperCase()=='SHOW')
	{
		if(imgExists){img[0].className = 'opaque';}
		
		/*IMG_WIDTH = img[0].width;
		IMG_HEIGHT = img[0].height;
		//170
		//debug($('q_'+divId))
		
		BTN_WIDTH = $('q_dummy').width;
		BTN_HEIGHT = $('q_dummy').height;
		
		
		adjustLeft = Math.ceil((IMG_WIDTH/2)-(BTN_WIDTH/2));
		adjustTop = Math.ceil((IMG_WIDTH/2));
		
		
		$('d_'+divId).style.left = (setLeft+adjustLeft)+'px';
		$('d_'+divId).style.top = (setTop+adjustTop)+'px';*/
		$('d_'+divId).className = divClassName.replace('displayNone','displayBlock');
	}
	else
	{
		if(imgExists){img[0].className = '';}
		$('d_'+divId).className = divClassName.replace('displayBlock','displayNone');
	}
}

function changeCountryProvice(cID){
	
	if (cID != null)
		countryId = $(cID).value;
	else
		countryId = $('countryID').value;
	
	DWREngine._execute(_cfCatLevelsLocation, null, 'callGetStates',countryId,'#variables.actualLang#',changeCountryProvice_result);

	if (cID != null)
		countryIdVar=cID;
    else
		countryIdVar='countryID';
}

function changeCountryProvice_result(result){
	  
	  if(result.length==0){
	  	 $('shprovince').options.length = 0;
	     $('shprovince').options[1]=new Option('Other/Autre','OO');
	  } else{
	  	 $('shprovince').options.length = 1;
	    for (i=0; i<result.length; i++) {

			$('shprovince').options[i+1] = new Option(result[i].NAME,result[i].STATE_ID);
		}
	  }
	  
}

  	
  	/*
  	
  	widthAdjust = (_isFOX)?1:-3;
  	leftAdjust = (_isFOX)?6:9;
  	
  	$(id).style.left = (setLeft-leftAdjust)+'px';
  	$(id).style.width = (e.offsetWidth-widthAdjust)+'px';
  	$(id).style.display = 'block';

*/
	
	function showreturnPolicy(url)
	{
		showAlert({url:url,target:'returnsAlertBOX',cssClass:'alertboxCVC'});
	}
	
		function ThousandSeparator(decimalDigits,Value)
		{
		     // Separator Length. Here this is thousand separator
		     var separatorLength = 3;
		     var OriginalValue=Value;
		     var TempValue = "" + OriginalValue;
		     var NewValue = "";
		
		      // Store digits after decimal
		      var pStr;
		
		      // store digits before decimal
		      var dStr;
		
		      // Add decimal point if it is not there
		      if (TempValue.indexOf(".")==-1)
		     {
		           TempValue+="."
		     }
		
		    dStr=TempValue.substr(0,TempValue.indexOf("."));
		
		    pStr=TempValue.substr(TempValue.indexOf("."))
		
		    // Add 0 for remaining digits after decimal point
		    while (pStr.length-1< decimalDigits){pStr+="0"}
		
		    if(pStr ==".")
		            pStr =""; 
		   
		   if(dStr.length > separatorLength)
		  {
		        // Logic of separation
		       while( dStr.length > separatorLength)
		      {
		              NewValue = "," + dStr.substr(dStr.length - separatorLength) + NewValue;
		             dStr = dStr.substr(0,dStr.length - separatorLength);
		       }
		       NewValue = dStr + NewValue;
		   }
		   else
		  {
		       NewValue = dStr;
		   }
		   // Add decimal part
		   NewValue = NewValue + pStr;
			
			return NewValue;
		  } 
		  
	function CurrencyFormatted(amount)
	{
		var i = parseFloat(amount);
		if(isNaN(i)) { i = 0.00; }
		var minus = '';
		if(i < 0) { minus = '-'; }
		i = Math.abs(i);
		i = parseInt((i + .005) * 100);
		i = i / 100;
		s = new String(i);
		if(s.indexOf('.') < 0) { s += '.00'; }
		if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
		s = minus + s;
		return s;
	}
	
	function CurrencyFormattedComma(amount)
	{
		amount = String(amount);
		
		var delimiter = ","; // replace comma if desired
		var a = amount.split('.',2)
		var d = a[1];
		var i = parseInt(a[0]);
		if(isNaN(i)) { return ''; }
		var minus = '';
		if(i < 0) { minus = '-'; }
		i = Math.abs(i);
		var n = new String(i);
		var a = [];
		while(n.length > 3)
		{
			var nn = n.substr(n.length-3);
			a.unshift(nn);
			n = n.substr(0,n.length-3);
		}
		if(n.length > 0) { a.unshift(n); }
		n = a.join(delimiter);
		if(d.length < 1) { amount = n; }
		else { amount = n + '.' + d; }
		amount = minus + amount;
		return amount;
	}
	
	function submitLeftNavFilterAdd(key, value){
		
		var filters = {};
		try {
			eval( "filters = " + document.frmlefNavFilters.fqValue.value + ";" );
		} catch( e ) { filters = {} };
		
		if ( filters[ key ] === undefined )
			filters[ key ] = [];
		filters[ key ].push( value );
		document.frmlefNavFilters.fqValue.value = JSON.stringify( filters );
		document.frmlefNavFilters.submit();
	}
	
	function submitLeftNavFilterRemove(key, value){
		
		var filters = {};
		try {
			eval( "filters = " + document.frmlefNavFilters.fqValue.value + ";" );
		} catch( e ) { filters = {} };
		
		if ( key ) {
			if ( filters[ key ] ) {
				for ( var i=0; i < filters[ key ].length; i++ ) {
					if ( filters[ key ][ i ] == value ) {
						filters[ key ].splice( i, 1 );
						break;
					}
				}
			}
		} else {
			filters = {};
			document.frmlefNavFilters.FQVALUElevel1.value = "";
			document.frmlefNavFilters.FQVALUElevel2.value = "";
			document.frmlefNavFilters.viewall.value = "N";
		}
		document.frmlefNavFilters.fqValue.value = JSON.stringify( filters );
		document.frmlefNavFilters.action = location.href.replace( /\/all/, "" );
		
		document.frmlefNavFilters.submit();
	}
	
	function submitLeftNavFilterAddLevel1(key, value){
		document.frmlefNavFilters.FQVALUElevel1.value = "{\"" + key + "\":\"" + value + "\"}";
		document.frmlefNavFilters.FQVALUElevel2.value = '';
		document.frmlefNavFilters.submit();
	}
	
	function submitLeftNavFilterAddLevel2(key, value){
		document.frmlefNavFilters.FQVALUElevel2.value = "{\"" + key + "\":\"" + value + "\"}";
		document.frmlefNavFilters.submit();
	}
	
	
function getDirections(address){
	var formattedAddress = escape(address);
	window.open("http://maps.google.com/maps?f=d&hl=en&geocode=&saddr=&daddr="+formattedAddress+"&ie=UTF8&z=12");
}
			  	
function __IsValidEmailMask(email)
{

	filter = /^[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,})$/

		if (filter.test(email))
		{
			return true;
		}
		else
		{
			return false;
		}
}
	
function init()
{
	DWREngine._errorHandler =  errorHandler;
}

init();

// this is a compiled version of http://www.json.org/json2.js
if(!this.JSON)this.JSON={};
(function(){function l(b){return b<10?"0"+b:b}function o(b){p.lastIndex=0;return p.test(b)?'"'+b.replace(p,function(f){var c=r[f];return typeof c==="string"?c:"\\u"+("0000"+f.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+b+'"'}function m(b,f){var c,d,g,j,i=h,e,a=f[b];if(a&&typeof a==="object"&&typeof a.toJSON==="function")a=a.toJSON(b);if(typeof k==="function")a=k.call(f,b,a);switch(typeof a){case "string":return o(a);case "number":return isFinite(a)?String(a):"null";case "boolean":case "null":return String(a);
case "object":if(!a)return"null";h+=n;e=[];if(Object.prototype.toString.apply(a)==="[object Array]"){j=a.length;for(c=0;c<j;c+=1)e[c]=m(c,a)||"null";g=e.length===0?"[]":h?"[\n"+h+e.join(",\n"+h)+"\n"+i+"]":"["+e.join(",")+"]";h=i;return g}if(k&&typeof k==="object"){j=k.length;for(c=0;c<j;c+=1){d=k[c];if(typeof d==="string")if(g=m(d,a))e.push(o(d)+(h?": ":":")+g)}}else for(d in a)if(Object.hasOwnProperty.call(a,d))if(g=m(d,a))e.push(o(d)+(h?": ":":")+g);g=e.length===0?"{}":h?"{\n"+h+e.join(",\n"+h)+
"\n"+i+"}":"{"+e.join(",")+"}";h=i;return g}}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+l(this.getUTCMonth()+1)+"-"+l(this.getUTCDate())+"T"+l(this.getUTCHours())+":"+l(this.getUTCMinutes())+":"+l(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()}}var q=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
p=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,h,n,r={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;if(typeof JSON.stringify!=="function")JSON.stringify=function(b,f,c){var d;n=h="";if(typeof c==="number")for(d=0;d<c;d+=1)n+=" ";else if(typeof c==="string")n=c;if((k=f)&&typeof f!=="function"&&(typeof f!=="object"||typeof f.length!=="number"))throw Error("JSON.stringify");return m("",
{"":b})};if(typeof JSON.parse!=="function")JSON.parse=function(b,f){function c(g,j){var i,e,a=g[j];if(a&&typeof a==="object")for(i in a)if(Object.hasOwnProperty.call(a,i)){e=c(a,i);if(e!==undefined)a[i]=e;else delete a[i]}return f.call(g,j,a)}var d;b=String(b);q.lastIndex=0;if(q.test(b))b=b.replace(q,function(g){return"\\u"+("0000"+g.charCodeAt(0).toString(16)).slice(-4)});if(/^[\],:{}\s]*$/.test(b.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){d=eval("("+b+")");return typeof f==="function"?c({"":d},""):d}throw new SyntaxError("JSON.parse");}})();
