
/* Setup functions called directly from page */
var isIE = /*@cc_on!@*/false;
var mma_interval = 8000;

function setupHovers()
{

	/* Find all <button> elements in the document, and set the onmouseover/onmouseout functionality (add "hv" to className on mouseover) */
	var buttons = document.getElementsByTagName('BUTTON');
	for(var i=0;i<buttons.length;i++) {
		buttons[i].onmouseover = hvOn;
		buttons[i].onmouseout  = hvOff;
	}

	/* Based on contents of input_values object, set initial values of input boxes and behaviour to clear value on focus
	   (only if it's set to original value though, so it won't clear if user changes contents)
	   This also prevents Firefox from holding values on a soft refresh (which some may consider a bad thing..) */
	var inputs = null;
	for(var j in input_values) {
		try { inputs = d(j).getElementsByTagName('INPUT'); }
		catch (e) { }
		if(inputs) {
			for(var i=0;i<inputs.length;i++) {
				if(inputs[i].type=="text") {
					inputs[i].originalValue = input_values[j];
					/* Because this is an onload function, a quick user might jump in and enter text in the box before this javascript is run, so check it's a) empty and b) doesn't have focus before setting the value */
					if((inputs[i].value=="")&&(inputs[i]!=document.activeElement)) {
						inputs[i].value = input_values[j];
					}
					inputs[i].onfocus = clrInput;
				}
			}
		}

	}


	// IE7 fails at hovers ... the following is a list of div #id's we want to apply an onmouseover-set-classname-to-hv rule to on all child <a> tags
	if(isIE) {
		var a_hv = new Array("hld_c","mre_c","mrf","pd_lb_h","db_s");
		var hi;
		// First loop does a "blind" binding of events
		for(i=0;i<a_hv.length;i++) {
			if(d(a_hv[i])) {
				hi = d(a_hv[i]).getElementsByTagName('A');
				for(j=0;j<hi.length;j++) {
					hi[j].onmouseover = hvOn;
					hi[j].onmouseout  = hvOff;
				}
			}
		}

		// Second loop goes through everything and binds the events to items with a certain classname already..
		a_hv = document.getElementsByTagName('A');
		var pcn = new Array("buy","not","checkout_now","no-thanks-button","close-button-a");
		var cn;
		for(i=0;i<a_hv.length;i++) {
			for(j=0;j<pcn.length;j++) {
				cn = pcn[j];
				if(a_hv[i].parentNode.className=="") continue;
				if ( (a_hv[i].parentNode.className && a_hv[i].parentNode.className.search(new RegExp("\\b" + cn + "\\b")) == -1)) {
					a_hv[i].onmouseover = hvOn;
					a_hv[i].onmouseout  = hvOff;
				}
			}

		}

	}


}

function setupPopups()
{

	// this function will translate combine <a> links (class=popup) to work as a popup if javascript is enabled.
	// Usage:
	// <a href="[non-JS link]" target="jsFunctionName" class="popup">Click here for info</a>
	// The above example will launch jsFunctionName() on click (if JS is enabled) and move the value of .href to .url (as it ineeds to set .href to something else)
	// So in jsFunctionName you can access the link's original href via this.url.
	var al = document.getElementsByTagName('A');
	var fn;
	for(var i=0;i<al.length;i++) {
		if(al[i].className=="popup") {
			// test existence of target attribute and if it points to a JS function that exists in the global namespace
			if(al[i].target!="") {
				fn = al[i].target;
				if(eval('typeof '+fn)=="function") {
					eval("al[i].onclick = "+fn+";");
					al[i].url     = al[i].href;
					al[i].href    = "javascript:void(0);"
					al[i].target  = "";
				}
			}
		}
	}

}

function setupMenu()
{

	var hc = d('hc');

	if(d('hc')) {

		// now we need to loop through the unordered lists and clone each one to the side menu.
		if(d('mlc')) {
			var side_menu_ul;
			var test = new Object;
			for(var i=0;i<d('mlc').childNodes.length;i++) {
				if((d('mlc').childNodes[i].tagName=="UL")&&(d('mlc').childNodes[i].className!="sub")) { 
					side_menu_ul = d('mlc').childNodes[i];
					break;
				}
			}

			var thisClass = "";
			var thisClassPieces;
			for(i=0;i<side_menu_ul.childNodes.length;i++) {
				thisClass = side_menu_ul.childNodes[i].className;
				try
				{
					if(side_menu_ul.childNodes[i].tagName=="LI") {
                        thisClassPieces = thisClass.split(" ");
                        thisClass = thisClassPieces[0];
                        test[thisClass] = side_menu_ul.childNodes[i];
                    }
				}
				catch (e)
				{
				}
			}

			var menu = hc.getElementsByTagName('LI');
			var menu_sub,menu_sub_copy;
			for(var i=0;i<menu.length;i++) {
				try
				{
					menu_sub = menu[i].getElementsByTagName('UL');
				}
				catch (e)
				{
					continue;
				}

				for(var j=0;j<menu_sub.length;j++) {

					menu_sub_copy = menu_sub[j].cloneNode(true);
					try {

                        classBits = menu[i].className.split(" ");
                        classBit = classBits[0];
 
                        test[classBit].appendChild(menu_sub_copy);
                    }
					catch (e) { }
				}

			}

		}

	}

	// be aware of potential confusion here though, because of the shuffle, element with ID "hc" becomes a child of "fc" and "fcm" becomes a child of "hc".
	// So the submenu UL's will always be in ID fcm even though it's moved to the header.
	var ma = new Array();
	if(d('mlc')) ma[ma.length] = d('mlc_a').childNodes;

	var thisEl,menus,hasSubs;

	for(var m=0;m<ma.length;m++) {

		menus = ma[m];
		hasSubs = false;

		// following code loops through and assigns the hovers on both the top level menu items as well as the submenu items (doesn't use css :hovers for compatibility reasons)
		for(i=0;i<menus.length;i++) {
			// loop through and flag the index numbers of both UL and A tags
			if (menus[i].tagName=="LI") {
				for (var j=0;j<menus[i].childNodes.length;j++) {
					if(menus[i].childNodes[j].tagName=="UL") {
						menus[i].idx = j;
						hasSubs = true;
					}
					if(menus[i].childNodes[j].tagName=="A") {
						menus[i].lnk = j;
					}
				}
				// set the hover effects for the actual menu 'button'
				if(hasSubs) {
					menus[i].onmouseover = menuOver;
					menus[i].onmouseout  = menuOut;
				} else {
					menus[i].onmouseover = function() { if(this.hv) return; this.hv = true;   doHvOn(this.childNodes[this.lnk]); }
					menus[i].onmouseout  = function() { if(!this.hv) return; this.hv = false; doHvOff(this.childNodes[this.lnk]); }
				}

				if(!hasSubs) continue;

			}

		}

	}

}

function setupBanner()
{

	if(d('mma_btn')) {
		d('mma_btn').style.display='block';
		for(var i=1;i<=5;i++) {
			d('mma_btn_'+i).num = i-1;
			d('mma_btn_'+i).onclick = function() { mma_jump(this.num); }
			d('mma_'+i).style.display='block';
		}

		d('mma_btn_1').active = true;
		doHvOn(d('mma_btn_1'));

		d('mma_btn_pause').onclick = mma_pause;
		d('mma_btn_play').onclick  = mma_play;

		mma = new Spry.Widget.SlidingPanels("mma_sp");
		mma.paused = false;
		mma_setint();

		if(d('mma')) {
			d('mma').onmouseover = function() { clearTimeout(mma_int); };
			d('mma').onmouseout  = function() { mma_setint(); };
		}

		d('mma_all').style.width="10000px";
		for(i=1;i<=5;i++) {
			if(d('mma_'+i)) d('mma_'+i).style.display='block';
		}

		// Setup hovers on the main Spry panel buttons
		var spry_buttons = d('mma_btn');
		if(spry_buttons) {
			for(i=0;i<spry_buttons.childNodes.length;i++) {
				thisEl = spry_buttons.childNodes[i];
				if(thisEl.tagName=="DIV") {
					thisEl.onmouseover = hvOn;
					thisEl.onmouseout  = hvOff;
				}
			}
		}

	}

	setTimeout(setupHiddenBanners,3000);

}

function setupHiddenBanners() {
	for(var i=2;i<=5;i++) {
		try
		{
			d('mma_img'+i).src=d('mma_img'+i).className;
		}
		catch (e)
		{
		}
		
	}
}

function setupProductBoxes() {

	var pp = new Array('mrc','mrd','mrg');
	var panel;
	var pk;
	for(i=0;i<pp.length;i++) {

		// pre-css-js-friendly fixups
		if(!d(pp[i])) { continue; }
		d(pp[i]+'_all').style.width="10000px";
		for(var z=1;z<=5;z++) {
			if(d(pp[i]+'_'+z)) d(pp[i]+'_'+z).style.display='block';
		}
		eval(pp[i]+" = new Spry.Widget.SlidingPanels('"+pp[i]+"_sp');");

		// Setup hovers on the control arrows on the product boxes
		panel = d(pp[i]);
		if(panel) {
			pk = panel.childNodes;
			for(j=0;j<pk.length;j++) {
				if((pk[j].tagName=="DIV")&&(pk[j].className.substring(0,3)=="btn")) {
					// get the child div within this element :)
					pk[j].panel = pp[i];
					for(k=0;k<pk[j].childNodes.length;k++) {
						if(pk[j].childNodes[k].tagName=="DIV") {
							pk[j].childNodes[k].onmouseover = hvOn;
							pk[j].childNodes[k].onmouseout = hvOff;
						}
						if(pk[j].className.substring(0,6)=="btn_rb") {
							pk[j].style.display='block';
							pk[j].childNodes[k].onclick = prod_fwd;
							panel.btn_rb_ref = pk[j];
						} else if(pk[j].className.substring(0,6)=="btn_lb") {
							pk[j].childNodes[k].onclick = prod_bck;
							panel.btn_lb_ref = pk[j];
						}
					}
				}
			}
		}
	}

}

function setupMiniCart()
{
	var t = d('mre_e');
	t.innerHTML = "&#x25BC; Hide";
	t.style.visibility = 'visible';
	t.onclick = function() {
		var t = d('mre_e');
		var i = d('mre_i');
		if(i.style.display!="none") {
			t.innerHTML = "&#x25BA; Show";
			i.style.display="none";
		} else {
			t.innerHTML = "&#x25BC; Hide";
			i.style.display="block";
		}
	}

}

function setupProductTabs()
{
	var box = false;
	try { box = d('pd_tabs'); }
	catch (e) { }
	if(!box) return false;
	if(box.className=="tabs") return true;
	box.className = "tabs";
	var cn = "tab-content";
	var ct,cl,ca,i,j,k;
	for(i=0;i<box.childNodes.length;i++) {
		ct = box.childNodes[i];
		if(ct.tagName!="UL") continue;
		box.listItems = new Array();
		for(j=0;j<ct.childNodes.length;j++) {
			cl = ct.childNodes[j];
			if(cl.tagName!="LI") continue;
			for(k=0;k<cl.childNodes.length;k++) {
				ca = cl.childNodes[k];
				if(ca.tagName=="A") {
					var t = ca.href.split("#");
					cl.refName = t[1];
					ca.href = "javascript:tabC(d('pd_tabs'),'"+t[1]+"');";
				}
			}
			box.listItems[box.listItems.length] = cl;
		}

	}
}

function setupProductImages()
{
	if(d('pd_piclnk')) {
		d('pd_piclnk').style.display='block';
		d('pd_piclnk_a').href="javascript:imgBig();";
		if(d('pd_img_')) {
			d('pd_img_').style.cursor='pointer';
			d('pd_img_').onclick = imgBig;
		}
	}

	var tnDivs, imgDivs;
	tnDivs  = new Array("pd_tn","pd_lb_tn");
	imgDivs = new Array("pd_imgtag", "pd_lb_imgtag");

	var tn,imgbox;
	var i,j,k;
	var tu,tl,ta;
	for(var l=0;l<tnDivs.length;l++) {
		tn = d(tnDivs[l]);
		imgbox = d(imgDivs[l]);
		if((tn)&&(imgbox)) {
			for(i=0;i<tn.childNodes.length;i++) {
				tu = tn.childNodes[i];
				if(tu.tagName!="UL") continue;
				for(j=0;j<tu.childNodes.length;j++) {
					tl = tu.childNodes[j];
					tl.tn     = tn;
					tl.imgbox = imgbox;
					if(tl.tagName!="LI") continue;
					for(k=0;k<tl.childNodes.length;k++) {
						ka = tl.childNodes[k];
						if(ka.tagName!="A") continue;
						tl.lnk = ka.href;
						ka.href="javascript:void(0);";
					}
					if(tnDivs[l].indexOf("lb")==-1) {
						tl.onmouseover = imgTn;
					} else {
						tl.onclick = imgTn;
					}
				}
			}
		}
	}

}

function setupReviewClipping()
{
	if(!d('customer_reviews')) return false;

	var c = d('customer_reviews').getElementsByTagName('DIV');
	var x;
	var cnt=0;
	for(var i=0;i<c.length;i++) {
		if(c[i].className=="pd_rvw") {
			cnt++;
			if(cnt>5) c[i].className="pd_rvw ext";
		}
	}
	var more = document.createElement("A");
	more.id = "pd_rvw_viewmore";
	more.textContent = "View more comments �";
	more.innerText = "View more comments �";
	if(isIE) {
		// IE has issues with rendering the expanding comments on the current design, so we just link to a page to show all
		more.href=document.location.pathname+"?view=all";
	} else {
		more.href="javascript:void(0);"
		more.onclick = moreRvws;
	}

	d('pd_rvw_box').parentNode.insertBefore(more,d('pd_rvw_box').nextSibling);

	return true;
}

function moreRvws()
{
	if(!d('customer_reviews')) return false;
	var c = d('customer_reviews').getElementsByTagName('DIV');
	var x;
	var cnt=0;
	for(var i=0;i<c.length;i++) {
		if(c[i].className=="pd_rvw ext") {
			cnt++;
			if(cnt<=5) c[i].className="pd_rvw";
		}
	}
	if(cnt<=5) d('customer_reviews').removeChild(d('pd_rvw_viewmore'));
}



function multipleItemShippingPopUp() {
	day = new Date();
	URL = 'http://www.dealsdirect.com.au/static/combined-shipping-info.htm';
	id = 102;
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=600,height=480,left = 540,top = 285');");
}
function multipleItemPerfumePopUp() {
	day = new Date();
	URL = 'http://www.dealsdirect.com.au/static/combined-shipping-perfume-info.htm';
	id = 102;
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=600,height=480,left = 540,top = 285');");
}
function multipleItemBooksPopUp() {
	day = new Date();
	URL = 'http://www.dealsdirect.com.au/static/combined-shipping-books-info.htm';
	id = 102;
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=600,height=480,left = 540,top = 285');");
}

function notifyMe()
{
	var url = this.url;
	tellWindow = window.open(url, 'notify', 'height=470, width=400, left=50,top=50, resizable, scrollbars, status');
	tellWindow.top.focus();
}

function popVeri()
{
	var url = this.url;
	tellWindow = window.open(url, 'verisign', 'height=500, width=560');
	tellWindow.top.focus();
}



/* Support global variables & functions */

var mma,mma_int;
var mrc,mrd,mrg;

function d(e) { try { return document.getElementById(e); } catch(e) { return false; } }

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function menuOver(evt)
{
	evt = (evt) ? evt : window.event;
	evt.cancelBubble = true;
	if(isIE) this.style.zIndex="10";
	doHvOn(this.childNodes[this.lnk]);
	doHvOn(this.childNodes[this.idx]);
}

function menuOut(evt)
{
	evt = (evt) ? evt : window.event;
	var onto = evt.toElement;
	if(onto!=null) {
		do {
			if(onto==this) {
				evt.cancelBubble = true;
				return;
			}
		} while((onto=onto.parentElement)!=null);
	}
	if(isIE) this.style.zIndex="";
	doHvOff(this.childNodes[this.lnk]);
	doHvOff(this.childNodes[this.idx]);
}

// generic hover functions, hvOn adds "hv" to the className of the element, hvOff removes it without affecting any other class names that may exist

function ul2sel(el)
{
	var isIE6 = /msie|MSIE 6/.test(navigator.userAgent);
	if(isIE6) return false;
	if(el.tagName=="UL") {
		var newSel = document.createElement('SELECT');
		try { newSel.id = el.id; } catch (e) { }     // copy #id to select element
		var newOpt = document.createElement('OPTION');
		newOpt.text  = "Please select ...";
		newOpt.value = "";
		try { newSel.add(newOpt,null); } catch (e) { newSel.add(newOpt); }

		var li,a,count;

		count = 0;

		newSel.onchange = function() { var val = this.options[this.selectedIndex].value; if(val!="") { document.location.href = this.options[this.selectedIndex].value; } }
		for(var j=0;j<el.childNodes.length;j++) {
			li = el.childNodes[j];
			if(li.tagName=="LI") {
				// we're in the LI tag, now dive in and find the <A> tag
				for(var k=0;k<li.childNodes.length;k++) {
					a = li.childNodes[k];
					if(a.tagName=="A") {
						newOpt = document.createElement('OPTION');
						newOpt.text = a.innerText || a.textContent;
						newOpt.value = a.href;
						try { newSel.add(newOpt,null); count++; } catch (e) { newSel.add(newOpt); count++; }
						if(li.className=="act") newSel.selectedIndex = count;
					}
				}
			}
		}
		el.parentNode.insertBefore(newSel,el);
		el.parentNode.removeChild(el);
	}
}

function hvOn()
{
	doHvOn(this);
}
function doHvOn(el)
{
	addC(el,"hv");
}
function hvOff()
{
	doHvOff(this);
}
function doHvOff(el)
{
	try
	{
		if(el.active) return true;
	}
	catch (e)
	{
	}
	remC(el,"hv");
}

// clear an input box on focus/select
function clrInput()
{
	if(this.value==this.originalValue) {
		this.value = "";
	}
	return true;
}

function mma_setint()
{
	clearTimeout(mma_int);
	mma_int = setTimeout(mma_nextPanel, mma_interval);
}

function mma_jump(n)
{
	clearTimeout(mma_int);
	for(var i=1;i<=5;i++) {
		d('mma_btn_'+i).active = false;
		doHvOff(d('mma_btn_'+i));
	}
	d('mma_btn_'+(n+1)).active = true;
	doHvOn(d('mma_btn_'+(n+1)));
	mma.showPanel(n);
	if(!mma.paused) mma_setint();
}

function mma_nextPanel()
{
	var cur = mma.getContentPanelIndex(mma.currentPanel) + 1;
	if(cur==5) cur=0;
	mma_jump(cur);
}

function mma_pause()
{
	clearTimeout(mma_int);
	mma.paused = true;
	d('mma_btn_pause').style.display='none';
	d('mma_btn_play').style.display='block';
}

function mma_play()
{
	clearTimeout(mma_int);
	mma.paused = false;
	mma_setint();
	d('mma_btn_pause').style.display='block';
	d('mma_btn_play').style.display='none';
}

function prod_fwd()
{
	var el = this.parentNode;
	eval('var panel = '+this.parentNode.panel+';');
	var cur = panel.getContentPanelIndex(panel.currentPanel) + 1;
	if(cur>0) {
		el.parentNode.btn_lb_ref.style.display="block";
	}
	if(cur==(panel.getContentPanels().length-1)) {
		el.parentNode.btn_rb_ref.style.display="none";
	}
	panel.showNextPanel();
}

function prod_bck()
{
	var el = this.parentNode;
	eval('var panel = '+this.parentNode.panel+';');
	var cur = panel.getContentPanelIndex(panel.currentPanel) + 1;
	if(cur<=2) {
		el.parentNode.btn_lb_ref.style.display="none";
	}
	if(cur<=panel.getContentPanels().length) {
		el.parentNode.btn_rb_ref.style.display="block";
	}
	panel.showPreviousPanel();
}

function tabC(el,tab)
{
	var cn = "tab-content";
	var ct;
	for(var i=0;i<el.childNodes.length;i++) {
		ct = el.childNodes[i];
		if(ct.tagName!="DIV") continue;
		if(ct.className.search(new RegExp("\\b"+cn+"\\b"))!=-1) {
			ct.style.display=(ct.id==tab)?"block":"none";
		}
	}
	for(i=0;i<el.listItems.length;i++) {
		el.listItems[i].className=(el.listItems[i].refName==tab)?"active":"";
	}

}

function imgBig()
{
	if(!TINY) return false;
	TINY.box.show('z',0,907,700,0);
}

function imgTn()
{
	rstThumbHovers(this.tn);
	doHvOn(this);
	if (d('pd_lb_img')) {
		var r = d('pd_lb_img').rotator;
		if (r != undefined) {
			if (r.loaded) r.unload();
		}
	}
	if(this.lnk && this.lnk.substring((this.lnk.length-3))=="jpg") {
		MM_preloadImages(this.lnk);
		this.imgbox.src=this.lnk;
		if(d('pd_lb_flash')) d('pd_lb_flash').style.display='none';
		if(d('pd_lb_img'))   d('pd_lb_img').style.display='block';
	} else if (this.lnk) {
		if(d('pd_lb_flash')) {
			d('pd_lb_flash').innerHTML = "<OBJECT classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0' WIDTH='600' HEIGHT='600' id='movie_preview'><PARAM NAME='movie' VALUE="+this.lnk+"><PARAM NAME='quality' VALUE='high'><PARAM NAME='wmode' VALUE='transparent'><PARAM NAME='bgcolor' VALUE='#FFFFFF'><EMBED src="+this.lnk+" quality='high' bgcolor='#FFFFFF' wmode='transparent' WIDTH='600' HEIGHT='600' NAME='movie' ALIGN='' TYPE='application/x-shockwave-flash' PLUGINSPAGE='http://www.macromedia.com/go/getflashplayer'></EMBED></OBJECT>";
		}
		if(d('pd_lb_img'))   d('pd_lb_img').style.display='none';
		if(d('pd_lb_flash')) d('pd_lb_flash').style.display='block';
	}
}

function rstThumbHovers(el)
{
	var tn = el;
	var i,j;
	var tu,tl;
	if(tn) {
		for(i=0;i<tn.childNodes.length;i++) {
			tu = tn.childNodes[i];
			if(tu.tagName!="UL") continue;
			for(j=0;j<tu.childNodes.length;j++) {
				tl = tu.childNodes[j];
				if(tl.tagName!="LI") continue;
				doHvOff(tl);
			}
		}
	}

}


function addC(ele, className)
{
	if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) != -1))
		return;
	ele.className += (ele.className ? " " : "") + className;
};

function remC(ele, className)
{
	if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) == -1))
		return;
	ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
};

function jumpTo(anchor)
{
    /* Given an anchor, blank and set location.hash to it */
    window.location.hash = '#top';
    window.location.hash = '#'+anchor;
};

var Spry;Spry||(Spry={});if(!Spry.Widget)Spry.Widget={};Spry.Widget.SlidingPanels=function(a,b){this.element=this.getElement(a);this.enableAnimation=true;this.currentPanel=null;this.enableKeyboardNavigation=true;this.hasFocus=false;this.previousPanelKeyCode=Spry.Widget.SlidingPanels.KEY_LEFT;this.nextPanelKeyCode=Spry.Widget.SlidingPanels.KEY_RIGHT;this.currentPanelClass="spcp";this.focusedClass="spf";this.animatingClass="spa";Spry.Widget.SlidingPanels.setOptions(this,b);if(this.element)this.element.style.overflow="hidden";if(this.defaultPanel)this.currentPanel=
typeof this.defaultPanel=="number"?this.getContentPanels()[this.defaultPanel]:this.getElement(this.defaultPanel);if(!this.currentPanel)this.currentPanel=this.getContentPanels()[0];Spry.Widget.SlidingPanels.onloadDidFire?this.attachBehaviors():Spry.Widget.SlidingPanels.loadQueue.push(this)};Spry.Widget.SlidingPanels.prototype.onFocus=function(a){this.hasFocus=true;this.addClassName(this.element,this.focusedClass);return false};
Spry.Widget.SlidingPanels.prototype.onBlur=function(a){this.hasFocus=false;this.removeClassName(this.element,this.focusedClass);return false};Spry.Widget.SlidingPanels.KEY_LEFT=37;Spry.Widget.SlidingPanels.KEY_UP=38;Spry.Widget.SlidingPanels.KEY_RIGHT=39;Spry.Widget.SlidingPanels.KEY_DOWN=40;
Spry.Widget.SlidingPanels.prototype.onKeyDown=function(a){var b=a.keyCode;if(!this.hasFocus||b!=this.previousPanelKeyCode&&b!=this.nextPanelKeyCode)return true;b==this.nextPanelKeyCode?this.showNextPanel():this.showPreviousPanel();if(a.preventDefault)a.preventDefault();else a.returnValue=false;if(a.stopPropagation)a.stopPropagation();else a.cancelBubble=true;return false};
Spry.Widget.SlidingPanels.prototype.attachBehaviors=function(){var a=this.element;if(a){if(this.enableKeyboardNavigation){var b=null,c=a.attributes.getNamedItem("tabindex");if(c||a.nodeName.toLowerCase()=="a")b=a;if(b){var f=this;Spry.Widget.SlidingPanels.addEventListener(b,"focus",function(e){return f.onFocus(e||window.event)},false);Spry.Widget.SlidingPanels.addEventListener(b,"blur",function(e){return f.onBlur(e||window.event)},false);Spry.Widget.SlidingPanels.addEventListener(b,"keydown",function(e){return f.onKeyDown(e||
window.event)},false)}}if(this.currentPanel){a=this.enableAnimation;this.enableAnimation=false;this.showPanel(this.currentPanel);this.enableAnimation=a}}};Spry.Widget.SlidingPanels.prototype.getElement=function(a){if(a&&typeof a=="string")return document.getElementById(a);return a};Spry.Widget.SlidingPanels.prototype.addClassName=function(a,b){!a||!b||a.className&&a.className.search(new RegExp("\\b"+b+"\\b"))!=-1||(a.className+=(a.className?" ":"")+b)};
Spry.Widget.SlidingPanels.prototype.removeClassName=function(a,b){if(!(!a||!b||a.className&&a.className.search(new RegExp("\\b"+b+"\\b"))==-1))a.className=a.className.replace(new RegExp("\\s*\\b"+b+"\\b","g"),"")};Spry.Widget.SlidingPanels.setOptions=function(a,b,c){if(b)for(var f in b)c&&b[f]==undefined||(a[f]=b[f])};Spry.Widget.SlidingPanels.prototype.getElementChildren=function(a){var b=[];for(a=a.firstChild;a;){a.nodeType==1&&b.push(a);a=a.nextSibling}return b};
Spry.Widget.SlidingPanels.prototype.getCurrentPanel=function(){return this.currentPanel};Spry.Widget.SlidingPanels.prototype.getContentGroup=function(){return this.getElementChildren(this.element)[0]};Spry.Widget.SlidingPanels.prototype.getContentPanels=function(){return this.getElementChildren(this.getContentGroup())};Spry.Widget.SlidingPanels.prototype.getContentPanelsCount=function(){return this.getContentPanels().length};Spry.Widget.SlidingPanels.onloadDidFire=false;
Spry.Widget.SlidingPanels.loadQueue=[];Spry.Widget.SlidingPanels.addLoadListener=function(a){if(typeof window.addEventListener!="undefined")window.addEventListener("load",a,false);else if(typeof document.addEventListener!="undefined")document.addEventListener("load",a,false);else typeof window.attachEvent!="undefined"&&window.attachEvent("onload",a)};
Spry.Widget.SlidingPanels.processLoadQueue=function(a){Spry.Widget.SlidingPanels.onloadDidFire=true;a=Spry.Widget.SlidingPanels.loadQueue;for(var b=a.length,c=0;c<b;c++)a[c].attachBehaviors()};Spry.Widget.SlidingPanels.addLoadListener(Spry.Widget.SlidingPanels.processLoadQueue);Spry.Widget.SlidingPanels.addEventListener=function(a,b,c,f){try{if(a.addEventListener)a.addEventListener(b,c,f);else a.attachEvent&&a.attachEvent("on"+b,c)}catch(e){}};
Spry.Widget.SlidingPanels.prototype.getContentPanelIndex=function(a){if(a){a=this.getElement(a);for(var b=this.getContentPanels(),c=b.length,f=0;f<c;f++)if(b[f]==a)return f}return-1};
Spry.Widget.SlidingPanels.prototype.showPanel=function(a){var b=-1;b=typeof a=="number"?a:this.getContentPanelIndex(a);a=this.getContentPanelsCount();b=a>0?b>=a?a-1:b:0;var c=this.getContentPanels()[b];b=this.getContentGroup();if(c&&b){this.currentPanel&&this.removeClassName(this.currentPanel,this.currentPanelClass);this.currentPanel=c;a=-c.offsetLeft;var f=-c.offsetTop;if(this.enableAnimation){this.animator&&this.animator.stop();var e=b.offsetLeft,g=b.offsetTop;if(e!=a||g!=f){var h=this;this.addClassName(this.element,
this.animatingClass);this.animator=new Spry.Widget.SlidingPanels.PanelAnimator(b,e,g,a,f,{duration:this.duration,fps:this.fps,transition:this.transition,finish:function(){h.removeClassName(h.element,h.animatingClass);h.addClassName(c,h.currentPanelClass)}});this.animator.start()}}else{b.style.left=a+"px";b.style.top=f+"px";this.addClassName(c,this.currentPanelClass)}}return c};Spry.Widget.SlidingPanels.prototype.showFirstPanel=function(){return this.showPanel(0)};
Spry.Widget.SlidingPanels.prototype.showLastPanel=function(){return this.showPanel(this.getContentPanels().length-1)};Spry.Widget.SlidingPanels.prototype.showPreviousPanel=function(){return this.showPanel(this.getContentPanelIndex(this.currentPanel)-1)};Spry.Widget.SlidingPanels.prototype.showNextPanel=function(){return this.showPanel(this.getContentPanelIndex(this.currentPanel)+1)};
Spry.Widget.SlidingPanels.PanelAnimator=function(a,b,c,f,e,g){this.element=a;this.curX=b;this.curY=c;this.dstX=f;this.dstY=e;this.fps=60;this.duration=500;this.transition=Spry.Widget.SlidingPanels.PanelAnimator.defaultTransition;this.timerID=this.startTime=0;this.finish=null;var h=this;this.intervalFunc=function(){h.step()};Spry.Widget.SlidingPanels.setOptions(this,g,true);this.interval=1000/this.fps};
Spry.Widget.SlidingPanels.PanelAnimator.defaultTransition=function(a,b,c,f){a/=f;return b+(2-a)*a*c};Spry.Widget.SlidingPanels.PanelAnimator.prototype.start=function(){this.stop();this.startTime=(new Date).getTime();this.timerID=setTimeout(this.intervalFunc,this.interval)};Spry.Widget.SlidingPanels.PanelAnimator.prototype.stop=function(){this.timerID&&clearTimeout(this.timerID);this.timerID=0};
Spry.Widget.SlidingPanels.PanelAnimator.prototype.step=function(){var a=(new Date).getTime()-this.startTime,b=a>=this.duration,c;if(b){c=this.curX=this.dstX;a=this.curY=this.dstY}else{c=this.transition(a,this.curX,this.dstX-this.curX,this.duration);a=this.transition(a,this.curY,this.dstY-this.curY,this.duration)}this.element.style.left=c+"px";this.element.style.top=a+"px";if(b)this.finish&&this.finish();else this.timerID=setTimeout(this.intervalFunc,this.interval)};var TINY={},isIE6=navigator.userAgent.indexOf("MSIE 6.")!=-1&&navigator.userAgent.indexOf("Opera")==-1;function T$(a){return document.getElementById(a)}
TINY.box=function(){var a,b,c,f,e,l,m,r,n,t=0;return{show:function(g,h,o,p,s,q){document.onkeypress=esc_hide;g=d("tinycontent");if(!t){a=d("tb");b=d("tbm");c=d("tbc");b.onclick=TINY.box.hide;window.onresize=TINY.box.resize;if(isIE6)window.onscroll=TINY.box.resize;t=1}if(!s&&!h){a.style.width=o?o+"px":"auto";a.style.height=p?p+"px":"auto";a.style.backgroundImage="none";c.style.display="block"}else{c.style.display="none";a.style.width=a.style.height="100px"}this.mask();e=g;l=h;m=o;r=p;n=s;this.alpha(b,
1,80,3);q&&setTimeout(function(){TINY.box.hide()},1000*q)},fill:function(g,h,o,p,s){if(h){a.style.backgroundImage="";var q=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");q.onreadystatechange=function(){q.readyState==4&&q.status==200&&TINY.box.psh(q.responseText,o,p,s)};q.open("GET",g,1);q.send(null)}else this.psh(g,o,p,s)},psh:function(g,h,o,p){if(p){if(!h||!o){g=a.style.width;p=a.style.height;a.style.width=h?h+"px":"";a.style.height=o?o+"px":"";c.style.display="";
h=parseInt(c.offsetWidth);o=parseInt(c.offsetHeight);c.style.display="none";a.style.width=g;a.style.height=p}this.size(a,h,o)}else a.style.backgroundImage="none"},hide:function(){TINY.box.alpha(a,-1,0,3)},resize:function(){TINY.box.pos();TINY.box.mask()},mask:function(){b.style.height=TINY.page.total(1)+"px";b.style.width="";b.style.width=TINY.page.total(0)+"px"},pos:function(){var g=TINY.page.height()/2-a.offsetHeight/2;g=g<10?10:g;a.style.top=isIE6?g+TINY.page.top()+"px":g+"px";a.style.left=TINY.page.width()/
2-a.offsetWidth/2+"px"},alpha:function(g,h,o){h=o;clearInterval(g.ai);if(h>0){g.style.opacity=h/100;g.style.filter="alpha(opacity="+h+")";g.style.display="block";this.pos();g==b?this.alpha(a,1,100):TINY.box.fill(e,l,m,r,n)}else{g.style.display="none";g==a&&TINY.box.alpha(b,-1,0,2)}},ta:function(g,h,o){var p=Math.round(g.style.opacity*100);if(p==h){clearInterval(g.ai);if(o==-1){g.style.display="none";g==a&&TINY.box.alpha(b,-1,0,2)}else g==b?this.alpha(a,1,100):TINY.box.fill(e,l,m,r,n)}else{h=Math.ceil(p+
(h-p)*0.5);h=h==1?0:h;g.style.opacity=h/100;g.style.filter="alpha(opacity="+h+")"}},size:function(g,h,o){g=typeof g=="object"?g:T$(g);clearInterval(g.si);var p=g.offsetWidth,s=g.offsetHeight,q=p-parseInt(g.style.width),u=s-parseInt(g.style.height),v=p-q>h?0:1,w=s-u>o?0:1;g.si=setInterval(function(){TINY.box.ts(g,h,q,v,o,u,w)},20)},ts:function(g,h,o,p,s,q,u){o=g.offsetWidth-o;q=g.offsetHeight-q;if(o==h&&q==s){clearInterval(g.si);a.style.backgroundImage="none";c.style.display="block"}else{if(o!=h){h=
o+(h-o)*0.5;g.style.width=p?Math.ceil(h)+"px":Math.floor(h)+"px"}if(q!=s){h=q+(s-q)*0.5;g.style.height=u?Math.ceil(h)+"px":Math.floor(h)+"px"}this.pos()}}}}();
TINY.page=function(){return{top:function(){return document.documentElement.scrollTop||document.body.scrollTop},width:function(){return self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth},height:function(){return self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight},total:function(a){var b=document.body,c=document.documentElement;return a?Math.max(Math.max(b.scrollHeight,c.scrollHeight),Math.max(b.clientHeight,c.clientHeight)):Math.max(Math.max(b.scrollWidth,
c.scrollWidth),Math.max(b.clientWidth,c.clientWidth))}}}();function esc_hide(a){if(!a)a=window.event;if(a.keyCode=="27"){TINY.box.hide();document.onkeypress=null}};
if (!Array.prototype.contains) {
	Array.prototype.contains = function(value) {
		for (var i = 0; i < this.length; i++) {
			if (this[i] == value) {
				return true;
			}
		}
		return false;
	};
}

DD = {};
DD.Init = function() { };
DD.addClass = function(o, classname) {
	var classes;
	if (o.className == undefined) {
		classes = [];
	} else {
		classes = o.className.split(' ');
	}
	if (!classes.contains(classname)) {
		o.className += ' ' + classname.replace(/[^a-zA-Z0-9-]/,'').toLowerCase();
	}
};
DD.removeClass = function(o, classname) {
	 var regex = new RegExp('(\\s|^)' + classname);
	o.className = o.className.replace(regex,'');
};
DD.hasClass = function(o, classname) {
	if (o.className == undefined) {
		return false;
	}
	var classes = o.className.split(' ');
	return classes.contains(classname);
};
DD.getElementsByClassName = function(o, classname) {
	var results = [];
	if (typeof(o) == typeof(document) && o.body) {
		o = o.body;
	}
	for (var i = 0; i < o.childNodes.length; i++) {
		if (DD.hasClass(o.childNodes[i], classname)) {
			results.push(o.childNodes[i]);
		}
		results = results.concat(DD.getElementsByClassName(o.childNodes[i], classname));
	}
	return results;
};
DD.addEventListener = function(o, event, handler) {
	if (o.addEventListener) {
		o.addEventListener(event, handler, false);
	} else if (o.attachEvent) {
		o.attachEvent('on' + event, handler);
	}
};
DD.removeEventListener = function(o, event, handler) {
	if (o.removeEventListener) {
		o.removeEventListener(event, handler, false);
	} else if (o.detachEvent) {
		o.detachEvent('on' + event, handler);
	}
};
DD.stopPropagation = function(event) {
	if (event.stopPropagation) {
		event.stopPropagation();
	} else {
		event.cancelBubble = true;
	}
};
DD.stopSubmit = function(event) {
	if (event.preventDefault) {
		event.preventDefault();
	} else if (window.event) {
        window.event.returnValue = false;
    }
	return false;
};

DD.Popup = function(url, override) {
	var defaults = {'status':0,'toolbar':0,'location':0,'menubar':0,'width':400,'height':400}
	for (var key in override) {
		defaults[key] = override[key];
	}
	if (!override.top) defaults.top = (screen.height / 2) - (defaults.height / 2);
	if (!override.left) defaults.left = (screen.width / 2) - (defaults.width / 2);

	var opts = [];
	for (var key in defaults) {
		opts.push(key + '=' + defaults[key]);
	}
	window.open(url,'_blank', opts.join(','));
}

DD.ResultSet = function(node, url) {
	this.root = document.getElementById(node);
	this.url = url;
	var rows = this.root.getElementsByTagName('tbody')[0].getElementsByTagName('tr');
	for (var i = 0; i < rows.length; i++) {
		this.add(rows[i]);
	}
};
DD.ResultSet.prototype.add = function(node) {
	var tmp = this;
	DD.addEventListener(node, 'mouseover', function() { DD.addClass(node, 'selected'); });
	DD.addEventListener(node, 'mouseout', function() { DD.removeClass(node, 'selected'); });
	DD.addEventListener(node, 'click', function() { document.location.href = tmp.url + '&id=' + node.id.substr('transaction-'.length); });
};

DD.Modal = function(src, opts) {
    if (opts == null) {
		opts = {};
	}
    this.overlay = document.createElement('div');
    this.overlay.className = 'dd-overlay';
    document.body.appendChild(this.overlay);
    this.frame = document.createElement('iframe');
    if (opts.init != null) {
	    this.frame.onload = opts.init;
	}
    document.body.appendChild(this.frame);
    document.body.style.overflow = 'hidden';
    this.frame.src = src;
    this.frame.className = 'dd-popup';
    this.frame.style.width = (opts.width == null ? 550 : opts.width) + 'px';
    this.frame.style.height = (opts.height == null ? 350 : opts.height) + 'px';
    this.frame.style.left = Math.floor((document.width - this.frame.contentDocument.width) / 2) + 'px';
	this.frame.contentDocument.modal = this;
};
DD.Modal.prototype.close = function() {
    document.body.removeChild(this.frame);
    document.body.removeChild(this.overlay);
};

DD.FileBrowser = function(source) {
	var tmp = this;
    this.source = source;
    var url = '/?type=filebrowser';
    if (this.source.value != '') {
		url += '&location=' + this.source.value;
	}
    this.modal = new DD.Modal(url, {'init': function() { tmp.init(); }});
	this.modal.frame.contentDocument.filebrowser = this;
};
DD.FileBrowser.prototype.init = function() {
	var i;
	var tmp = this;
	var anchors = this.modal.frame.contentDocument.getElementsByTagName('a');
	for (i = 0; i < anchors.length; i++) {
		var a = anchors[i];
		if (a.className == 'file') {
			a.addEventListener('click', function(e) { tmp.source.value = a.pathname;
			                                          DD.stopPropagation(e);
			                                          tmp.modal.close(); }, false);
		}
	}
	var buttons = this.modal.frame.contentDocument.getElementById('footer').getElementsByTagName('input');
	for (i = 0; i < buttons.length; i++) {
		switch (buttons[i].value) {
			case 'OK':
				buttons[i].addEventListener('click', function() { tmp.source.value = tmp.modal.frame.contentDocument.getElementById('location').innerHTML;
				                                                  tmp.modal.close(); }, false);
				break;
			case 'Cancel':
				buttons[i].addEventListener('click', function() { tmp.modal.close(); }, false);
				break;
			default:
				break;
		}
	}
};

DD.Url = function(url) {
	this.relative = false;
	this.protocol = null;
	this.domain = null;
	this.path = null;
	this.args = {};
	if (url == null) url = document.location.href;
	this.parse(url);
}
DD.Url.prototype.parse = function(url) {
	var regex = /^((([a-zA-Z]+):\/\/)(([a-zA-Z0-9_]+\.)+([a-zA-Z0-9_]+)))?((\/[^\/\?]*)*)(\?(.+))?/;
	var index = 0;
	match = regex.exec(url);
	if (match) {
		if (match.length >= 2) this.protocol = match[3];
		if (match.length >= 3) this.domain = match[4];
		if (match.length >= 6) this.path = match[7];
		if (match.length >= 9) {
			var args = match[10].split('&');
			for (var i = 0; i < args.length; i++) {
				var pair = args[i].split('=');
				this.args[pair[0]] = (pair.length > 1 ? pair[1] : null);
			}
		}
	}
	this.relative = (this.domain != null);
}
DD.Url.prototype.toString = function() {
	args = [];
	for (key in this.args) {
		args.push(key + '=' + this.args[key]);
	}
	return (this.protocol != null ? this.protocol + '://' : '') + (this.domain != null ? this.domain : '') + (this.path != null ? this.path : '') + '?' + args.join('&');
}

DD.FormValidator = function(form) {
	var tmp = this;
	this.form = form;
	this.error = 'The following problems were encountered:';
	this.elements = {};
	this.messages = {};
	this.realtime = false;
	this.form.validator = this;
	DD.addEventListener(this.form, 'submit', function(e) {
		if (!tmp.validate()) {
			tmp.alert();
			return DD.stopSubmit(e);
		}
	});
};
DD.FormValidator.prototype.alert = function() {
	if (this.error != null) {
		window.alert(this.getMessage());
	}
};
DD.FormValidator.prototype.require = function(name, regex, error) {
	if (this.form[name] == null) {
		alert('Field "' + name + '" does not exist');
	}
	if (error == null) {
		if (regex == null) {
			error = name + ' is required';
		} else {
			error = name + ' is not valid';
		}
	}
	this.elements[name] = ({'name':name,'regex':(regex==null?null:new RegExp(regex)),'error':error,'valid':true});
};
DD.FormValidator.prototype.validate = function(name) {
	if (name == null) {
		var eValid = false;
		this.valid = true;
		this.messages = {};
		for (var key in this.elements) {
			eValid = this.validate(key, true);
			if (this.realtimeCallback != null) {
				this.realtimeCallback(this.form[key], eValid, this.elements[key].error);
			}
		}
		return this.valid;
	} else {
		if ((this.elements[name].regex == null && this.form[name].value == '') || (this.elements[name].regex != null && !this.elements[name].regex.exec(this.form[name].value))) {
			this.valid = false;
			this.messages[name] = this.elements[name].error;
			return false;
		}
		this.messages[name] = null;
		return true;
	}
	return this.valid;
};
DD.FormValidator.prototype.setRealtime = function(callback)  {
	var key;

	this.realtimeCallback = callback;
	for (var key in this.elements) {
		this.addRealtime(this.form[key], callback);
	}
};
DD.FormValidator.prototype.addRealtime = function(node, callback) {
	var valid;
	var tmp = this;
	this.elements[node.name].realtimeHandler = function(e) {
		if (tmp.realtimeCallback != null) {
			valid = tmp.validate(node.name);
			tmp.realtimeCallback(node, valid, tmp.elements[node.name].error);
		}
	};
	DD.addEventListener(node, 'blur', function() { tmp.elements[node.name].realtimeHandler(); });
	if (node.tagName == 'SELECT') {
		DD.addEventListener(node, 'change', function() { tmp.elements[node.name].realtimeHandler(); });
	}
};
DD.FormValidator.prototype.getMessage = function() {
	var m = this.error;
	 for (key in this.messages) {
		if (this.messages[key] != null) {
			m += "\n - " + this.messages[key];
		}
	 }
	return m;
};

DD.Ajax = function(url) {
	this.url = url;
	this.data = {};
}
DD.Ajax.prototype.send = function() {
	var tmp = this;
	if (window.XMLHttpRequest && !(window.ActiveXObject)) {
		this.request = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			this.request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			this.request = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	if (this.responseHandler) {
		this.request.onreadystatechange = function(e) {
			if (tmp.request.readyState == 4) {
				tmp.responseHandler(tmp.request);
			}
		}
	}
	this.request.open("GET", this.url, true);
	this.request.send("");
}

DD.Rotator = function(node) {
	var i = document.createElement('div');
	i.appendChild(document.createElement('img')).src = '/img/v8/360-help.gif';
	i.lastChild.alt = 'Click and drag the photo to rotate it';
	i.appendChild(document.createElement('br'));
	i.appendChild(document.createTextNode('Click and drag the photo to rotate it'));
	this.images = [];       //Array of image resources
	this.loaded = 0;        //Number of images loaded
	this.onload = null;     //Function to be called when rotator becomes usable
	this.oncomplete = null; //Function to be called when rotator is completely loaded
	this.interval = null;   //The number of pixels the mouse has to traverse before the frame changes. Null indicates auto-calculate
	this.current = 0;       //The current frame
	this.origin = 0;        //The position on the screen the mouse-cursor was at the last time a frame changed
	this.root = node;       //The HTML node this rotator is attached to
	this.loadChunk = 4;     //The divisor used to interleave image loading
	this.instructions = i;
	this.root.rotator = this;
}
DD.Rotator.prototype.load = function() {
	var tmp = this;
	var done = 0; var i = 0;
	var interlace = Math.ceil(this.images.length / this.loadChunk);
	while (done < this.images.length) {
		for (j = 0; j < this.loadChunk; j++) {
			var index = i + (j * interlace);
			if (index >= this.images.length) break;
			var src = this.images[index];
			this.images[index] = new Image();
			DD.addEventListener(this.images[index], 'load', function() { tmp.imageLoaded(); });
			this.images[index].src = src;
			done++;
		}
		i++;
	}
	if (this.interval == null) {
		this.interval = Math.ceil(1000 / this.images.length);
	}
	this.help = document.createElement('span');
	DD.addClass(this.help, 'help');
	if (typeof this.instructions == 'object') {
		this.help.appendChild(this.instructions);
	} else {
		this.help.appendChild(document.createTextNode(this.instructions));
	}
	this.root.appendChild(this.help);
}
DD.Rotator.prototype.unload = function() {
	DD.removeEventListener(this.root, this.startRotation);
	if (this.help.parentNode != null) {
		this.root.removeChild(this.help);
	}
}
DD.Rotator.prototype.imageLoaded = function() {
	var tmp = this;
	this.loaded++;
	if (this.loaded == this.loadChunk) {
		this.root.style.backgroundRepeat = 'no-repeat';
		this.root.style.backgroundPosition = 'center center';
		this.rotate();
		this.startRotation = function(e) {
			tmp.spin(null, (e.clientX > tmp.root.offsetWidth / 2 ? -1 : 1), true);
			DD.stopPropagation(e);
			if (e.preventDefault) e.preventDefault();
			tmp.origin = e.screenX;
			var f = function(e) {
				tmp.rotate(e);
			}
			var g = function() {
				tmp.cancelSpin();
				DD.removeEventListener(document, 'mousemove', f);
				DD.removeEventListener(document, 'mousemove', g);
			}
			DD.addEventListener(document, 'mousemove', f);
			DD.addEventListener(document, 'mouseup', g);
		}
		DD.addEventListener(this.root, 'mousedown', this.startRotation);
		if (this.onload != null) {
			this.onload(this, this.loaded / this.images.length);
		}
	}
	if (this.loaded >= this.images.length && this.oncomplete) {
		this.oncomplete();
	}
}
DD.Rotator.prototype.rotate = function(e) {
	this.cancelSpin();
	if (e != null) {
		var movement = (e.screenX - this.origin) / this.interval;
		if (Math.abs(movement) > 1) {
			this.current -= Math.ceil(movement);
			this.origin = e.screenX;
		}
	}
	if (this.current < 0) this.current = this.images.length + this.current;
	this.current = Math.abs(this.current % this.images.length);
	if (this.images[this.current].complete) {
		this.root.style.backgroundImage = 'url(' + this.images[this.current].src + ')';
	}
}
DD.Rotator.prototype.spin = function(speed, direction, loop) {
	if (speed == null) speed = 40;
	if (direction == null) direction = 1;
	if (loop == null) loop = false;
	var tmp = this;
	if (this.spinEnd == false || this.spinEnd == null) this.spinEnd = this.current;
	this.current = (this.current + direction) % this.images.length;
	if (this.current < 0) this.current = this.images.length + this.current;
	this.root.style.backgroundImage = 'url(' + this.images[this.current].src + ')';
	if (this.spinEnd !== false && (this.current != this.spinEnd || loop == true)) {
		var timer = setTimeout(function() { tmp.spin(speed, direction, loop); }, speed);
	} else {
		this.spinEnd = false;
	}
	var cancel = this.cancelSpin;
	this.cancelSpin = function() {
		cancel();
		clearTimeout(timer);
	}
};
DD.Rotator.prototype.cancelSpin = function() {}

DD.FileUploader = function(node) {
	if (typeof node == 'string') {
		node = document.getElementById(node);
	}
	this.root = node.parentNode;
	DD.addClass(this.root, 'dd-file');
	this.workarea = document.createElement('span');
	this.list = document.createElement('ul');
	this.root.appendChild(this.list);
	this.name = node.name;
	this.add(node);
	node.setAttribute('multiple','true');
	this.deleted = document.createElement('span');
	this.root.appendChild(this.deleted);
	this.multi = false;
	this.maximum = null;
	this.confirm = 'Are you sure you want to remove this file from the upload list?';
}
DD.FileUploader.prototype.set = function(values) {
	for (var i = 0; i < values.length; i++) {
		var item = document.createElement('li');
		item.appendChild(document.createTextNode(values[i]));
		this.list.appendChild(item);
		this.addDeleteHandler(item);
		if (this.isFull()) {
			break;
		}
	}
}
DD.FileUploader.prototype.addDeleteHandler = function(item) {
	var tmp = this;
	DD.addEventListener(item, 'click', function(e) {
		if (tmp.confirm == false || confirm(tmp.confirm)) {
			tmp.workarea.innerHTML = '<input type="hidden" />';
			var delitem = tmp.workarea.firstChild;
			delitem.name = tmp.name + '-deleted[]';
			delitem.value = item.innerHTML;
			tmp.deleted.appendChild(delitem);
			tmp.list.removeChild(item);
			tmp.isFull();
		}
	});
}
DD.FileUploader.prototype.add = function(node) {
	var tmp = this;
	if (!node) {
		this.workarea.innerHTML = '<input type="file />';
		node = this.workarea.firstChild;
		if (this.root.childNodes.length > 0) {
			this.root.insertBefore(node, this.root.firstChild);
		} else {
			this.root.parentNode.appendChild(node);
		}
	}
	node.name = this.name + (this.name.substr(0,-2) != '[]' ? '[]' : '');
	DD.addEventListener(node, 'change', function(e) {
		if (tmp.multi && !tmp.isFull()) {
			var item = document.createElement('li');
			item.appendChild(document.createTextNode(node.value));
			item.appendChild(node);
			tmp.list.appendChild(item);
			DD.addEventListener(item, 'click', function(e) {
				if (tmp.confirm == false || confirm(tmp.confirm)) {
					tmp.list.removeChild(item);
				}
			});
			node.style.display = 'none';
			var last = tmp.add();
			tmp.isFull();
		}
	});
	return node;
}
DD.FileUploader.prototype.isFull = function() {
	var current = this.list.getElementsByTagName('li').length;
	var full = (this.maximum != null && current >= this.maximum);
	this.root.firstChild.disabled = full;
	return full;
}

DD.Menu = function (root) {
	this.root = root;
	var tmp = this;
	var nodes = root.getElementsByTagName('ul')[0].children;
	for (var i = 0; i < nodes.length; i++) {
		this.add(nodes[i]);
	}
	DD.addEventListener(root.ownerDocument, 'mouseover', function() { tmp.select(); });
}
DD.Menu.prototype.add = function(node) {
	tmp = this;
	DD.addEventListener(node, 'mouseover', function(e) { tmp.select(node); DD.stopPropagation(e); });
}
DD.Menu.prototype.select = function(node) {
	if (this.selected != null) {
		DD.removeClass(this.selected, 'selected');
	}
	if (node != null) {
		DD.addClass(node, 'selected');
	}
	this.selected = node;
}

/*Copyright 2000-2009,Coremetrics 4.3.2 $Revision:125948 $*/if(!cGB){var cGB=true;if(!cm_ClientID){var cm_ClientID="99999999";}if(!cm_HOST){var cm_HOST="test.coremetrics.com/cm?";}if(!cm_ClientTS){var dt=new Date();var cm_ClientTS=dt.getTime();}if(!cm_TrackLink){var cm_TrackLink="";}if(!cm_DelayHandlerReg){var cm_DelayHandlerReg="";}if(!cm_SkipHandlerReg){var cm_SkipHandlerReg="";}if(!cm_TrackTime){var cm_TrackTime=false;}if(!cm_TrackImpressions){var cm_TrackImpressions="";}if(!cm_SecureTags||cm_SecureTags==null){var cm_SecureTags="|2|3|";}if(!cm_FirstPartyDetect){var cm_FirstPartyDetect=false;}if(!cm_DownloadExtensions){var cm_DownloadExtensions=null;}if(!cm_UseUTF8){var cm_UseUTF8=false;}if(!cm_FormError){var cm_FormError="";}if(cm_UseCookie==null){var cm_UseCookie=true;}if(!cm_TimeoutSecs){var cm_TimeoutSecs=15;}if(!cm_OffsiteImpressionsEnabled){var cm_OffsiteImpressionsEnabled=false;}if(!cm_AvidHost){var cm_AvidHost="data.cmcore.com/cookie-id.js?fn=cmSetAvid";}var cm_AvidLoadTimedOut=false;if(!cm_JSFEnabled){var cm_JSFEnabled=false;}if(!cm_JSFPCookieDomain){var cm_JSFPCookieDomain=null;}if(!cm_JSFTrackClients){var cm_JSFTrackClients=true;}if(!cm_JSFPCookieMigrate){var cm_JSFPCookieMigrate=false;}if(!cm_JSFPForceMigrateCookies){var cm_JSFPForceMigrateCookies=false;}if(!cm_JSFPCookieMigrateVisitorID){var cm_JSFPCookieMigrateVisitorID="cm_mc_uid";}if(!cm_JSFPCookieMigrateSessionID){var cm_JSFPCookieMigrateSessionID="cm_mc_sid";}if(!cm_JSFMigrationEnabled){var cm_JSFMigrationEnabled=0;}if(!cm_JSFSessionType){var cm_JSFSessionType="I";}if(!cm_JSFSessionTimeout){var cm_JSFSessionTimeout=1800;}if(!cm_JSFCoreCookieName){var cm_JSFCoreCookieName="CoreID6";}if(!cm_JSFSpecCookieNames){var cm_JSFSpecCookieNames=new Array();}if(!cmUA){var cmUA=new Object();cmUA["MSIE"]=2083;}if(!cmDefaultLimit){var cmDefaultLimit=8197;}if(cGQ==null){var cGQ=true;}if(!cGO){var cGO=1024;}if(!cGR){var cGR=600000;}if(!encodeURIComponent){var encodeURIComponent=null;}var cG8;var cG8Index;var cG6=document;var cGT;var cG7=new _cG7();cG6.cmTagCtl=cG7;var CI=cmStartTagSet;var CJ=cmSendTagSet;var cG1=0;var cG0=new Array("vn1","vn2","st","pi","rs","ec","rf","ul");var cmLastPageID=null;var cGA=null;var cmMigrationDisabled=0;var cmMigrationFrom1p_CM=1;var cmMigrationFrom1p_SA=2;var cmValidFlag_SessionContinue=1;var cmValidFlag_NewSession=2;var cmValidFlag_NewVisitor=4;var cmValidFlag_SessionReset=32;var cmSACookieName="sauid";var cmCore_JSFParamEnabled="cjen";var cmCore_JSFParamUserID="cjuid";var cmCore_JSFParamSessionID="cjsid";var cmCore_JSFParamValidFlag="cjvf";var cmCore_JSFParamSpecCookiesCount="cjscc";var cmCore_JSFParamSpecCookiesNames="cjscn";var cmCore_JSFParamSpecCookiesValues="cjscv";var cmSpecCookieNames="";var cmSpecCookieValues="";var cmSpecCookiesCount=0;if(!cG4){var cG4=5000;}if(!cG5){var cG5=200;}var cG2=new Object();var cG3=new Object();var cGM=navigator.appVersion;var cGN=navigator.userAgent;var cGS=cGN.indexOf("Opera")>=0;var cGU=cGN.indexOf("Safari")>=0;var cmT2=-1;var cmT3=-1;var cGC="";var cGD="";var cGE="";var cGF="";var cGG="";var cGH="";var cGI="";var cGJ="";var cGK="";var cGL="";var chost=null;var cci=null;CI();for(var cmSpecCookieIndex=0;cmSpecCookieIndex<cm_JSFSpecCookieNames.length;cmSpecCookieIndex++){var currSpecCookieName=cm_JSFSpecCookieNames[cmSpecCookieIndex];var currSpecCookieValue=cI(cm_JSFSpecCookieNames[cmSpecCookieIndex]);if(currSpecCookieValue==null)continue;if(currSpecCookieValue.length==0)continue;cmSpecCookieNames=cmSpecCookieNames+(cmSpecCookieNames!=""?"|":"")+escape(currSpecCookieName);cmSpecCookieValues=cmSpecCookieValues+(cmSpecCookieValues!=""?"|":"")+escape(currSpecCookieValue);cmSpecCookiesCount++;}var dt=new Date();var cmYearOffset=0;if(dt.getFullYear)cmYearOffset=dt.getFullYear();else{cmYearOffset=dt.getYear();if(cmYearOffset<1900)cmYearOffset+=1900;}dt.setYear(cmYearOffset+15);var cmCookieExpDate=dt.toGMTString();if(cm_UseCookie){var pi=cI("cmRS","pi","");if(pi!="")cmLastPageID=pi;chost=cm_HOST;cm_HOST=cI("cmRS","ho",chost);cci=cm_ClientID;cm_ClientID=cI("cmRS","ci",cci);var cT3=cI("cmRS","t3","");if(cT3!=""){cGA=cT3;}var jsfpdata=cI("cmRS","cjen","");if(jsfpdata!=""){cm_JSFEnabled=true;}var cT1=cI("cmRS","t1","");if(cT1!=""&&(!cGA||cm_ClientTS - cGA<cGR)){cmAddShared("st",cT1);var ul=cI("cmRS","ul","");var rf=cI("cmRS","rf","");var cT2=cI("cmRS","t2","");var cT4=cI("cmRS","t4","");if(cm_TrackTime)cN(cT1,cT2,cT3,cT4,true,pi);var hr=cI("cmRS","hr","");if(hr!=""){var ti=cI("cmRS","lti","");if(cm_ClientTS - ti<cGR){var nm=cI("cmRS","ln","");cM(cT1,ti,nm,hr,true,pi,ul,rf);}}var cV6=cI("cmRS","ac","");var cV7=cI("cmRS","fd","");if((cV6!="")||(cV7!="")){var ti=cI("cmRS","fti","");if(cm_ClientTS - ti<cGR){var cV9=cI("cmRS","fn","");var cV0=cI("cmRS","fu","");cL(cT1,ti,cV9,cV6,cV0,cV7,true,pi,ul,rf);}}var cError=unescape(cI("cmRS","uer",""));CH(cT1,cT3,cError,true,pi);}CC("cmRS");}if(!cGS&&(cF(4)||CD(5))){this.onload=cK(this,"onload",this.onload,"cY(e)",cY);this.onunload=cK(this,"onunload",this.onunload,"cZ(e)",cZ);if(cm_DelayHandlerReg.indexOf("L")==-1)window.cX("main");if(cm_DelayHandlerReg.indexOf("F")==-1)cU();}CJ(1);if(cm_OffsiteImpressionsEnabled){var cm_Avid=cI("CMAVID");if(cm_Avid==null){document.write("<script src='"+C8(null)+"//"+cm_AvidHost+"' language='javascript1.1' type='text/javascript'></script>");var cm_AvidLoadTimer=setTimeout("cm_AvidLoadTimedOut=true",2000);}}if(chost)cm_HOST=chost;if(cci)cm_ClientID=cci;}var cI=cI;var cE=cE;function cmStartTagSet(){if(cG8)return;cG8=new Array();cG8[0]=new _cm();cG8Index=1;}function cmAddShared(nm,val){if(cG8)cG8[0][nm]=val;}function cmSendTagSet(){var request;var cG8_tmp=cG8;while((request=C7(arguments[0]))!=null){c9(request,cG8_tmp[0].ci);}cG8=null;}function CQ(pl,host,qs){this.pl=pl;this.hosts=host.split(",");if(qs)this.qs=qs;this.cM5=CR;}function CR(){var a=arguments;var h=a[0]?a[0]:this.hosts[0];return this.pl+"//"+h+(this.qs?this.qs:"");}function _cG7(){this.cM0=new Object();this.uls=new Object();this.rfs=new Object();this.cTI=new Array();this.cPE=0;this.normalizeURL=c2;this.getPageID=c1;this.getPluginPageID=cmGetPluginPageID;}function cmGetPluginPageID(cVA){splitClientIDs=cm_ClientID.split(";");finalClientID=cVA;for(var n=0;n<splitClientIDs.length;n++){if(splitClientIDs[n]==cVA){finalClientID=cm_ClientID;break;}}return this.getPageID(finalClientID);}function c1(cVA){var pi=cG7.cM0[cVA];return pi?pi:"";}function CS(cVA){var ul=cG7.uls[cVA];if(!ul)ul=window.location.href;return ul?ul:"";}function CT(cVA){var rf=cG7.rfs[cVA];if(!rf)rf=cG6.referrer;return rf?rf:"";}function CP(href){var h=cGT;if(!h)h=cGT=cG7.normalizeURL(window.location.href,false);var a=href.indexOf("#");if(a>=0&&a<=h.length){var ha=h.indexOf("#");if(ha<0)ha=h.length;if(href.substring(0,a)==h.substring(0,ha))return href.substring(a);}return href;}function c2(url,isHref){if(isHref){url=CP(url);var pfx=window.location.protocol+"//"+window.location.host;if(url.indexOf(pfx)==0)url=url.substring(pfx.length);}return cD(url);}function c4(){for(var b in cmUA)if(cGM.indexOf(b)!=-1)return cmUA[b];return cmDefaultLimit;}function C0(n){if(cG7){if(cG7.cTI&&cG7.cTI[n]){cG7.cTI[n].cmLD=true;if(cG7.cTI[n].ci){cmJSFSetValidFlagValue(cmValidFlag_SessionContinue,false,cG7.cTI[n].ci);cmJSFSetSessionCookies(false,cG7.cTI[n].ci);}}cG7.cPE--;if(cG7.onResponse)cG7.onResponse(n);}window.dontExit=false;}function CN(n){if(cG7){cG7.cPE--;var img=null;if(cG7.cTI&&cG7.cTI[n]){img=cG7.cTI[n];img.cmLD=true;}if(cG7.onError&&(!img||!img.cmTO))cG7.onError(3,img);}}function c6(host,n){if(cG3)cG3[host]=true;C0(n);}function CO(n){if(cG7&&cG7.cTI&&cG7.cTI[n]&&!(cG7.cTI[n].cmLD)){var img=cG7.cTI[n];img.cmTO=img.src;if(cG7.onError)cG7.onError(4,img.cmTO);}}function c8(host){if(!cG3||cG3[host])return true;var dt=new Date();if((dt.getTime()-cG2[host])>cG4)return true;return false;}function CV(host,url,cVBH){if(!cVBH)cVBH=cm_ClientID;if((!cG2[host]||c8(host))&&(cm_OffsiteImpressionsEnabled==false||cm_Avid!=null||cm_AvidLoadTimedOut)){var img=new Image();var i=cG1;cG7.cTI[cG1++]=img;if(!cG2[host]){var dt=new Date();cG2[host]=dt.getTime();img.onload=new Function("if(c6)c6('"+host+"',"+i+");");}else{img.onload=new Function("if(C0)C0("+i+");");}img.onerror=new Function("if(CN)CN("+i+");");if(cm_OffsiteImpressionsEnabled&&(cm_Avid!=null)&&(cm_Avid!="none")){url+="&avid="+cm_Avid;}var limit=c4();if(url.length>limit){url=url.substring(0,limit-6)+"&err=O";}if(cG7.onTagSent)cG7.onTagSent(url,i);img.src=url;img.ci=cVBH;setTimeout('if(CO)CO('+i+');',cm_TimeoutSecs * 1000);}else{setTimeout('if(CV)CV("'+host+'","'+url+'","'+cVBH+'");',cG5);}}function c9(img,ci){if(cI("CMDisabled")||(cI("CMOptout")?cI("CMOptout").toUpperCase()=="OPT_OUT":false))return;for(var h=0;h<img.hosts.length;h++){var url=img.cM5(img.hosts[h]);cG7.cPE++;CV(img.hosts[h],url,ci);}}function cC(){if(!this.ul){if(this.tid=="8"||(this.tid=="9"||this.tid=="10")){this.ul=window.location.protocol+"//"+window.location.hostname;}else{this.ul=window.location.href;}}if(cG8)cG8[cG8Index++]=this;else{var request=this.getImgSrc(arguments[0],1);c9(request,this.ci);return request;}}function C4(src,tgt,compact){if(!compact){if(!src.rf){if(!document.referrer)tgt.rf="";else tgt.rf=document.referrer;}else if(src!=tgt)tgt.rf=src.rf;if(!src.ul||src.ul==""||src.ul=="(none)")tgt.ul=window.location.href;else if(src!=tgt)tgt.ul=src.ul;var ul=cG7.normalizeURL(tgt.ul,false);if(ul!="")tgt.ul=ul;}}function C5(tgt,compact){if(cm_FirstPartyDetect&&!compact){if(cI("cmRS")||cI("TestSess")){tgt.ts="Y";}else{CB("TestSess","Y");tgt.ts=cI("TestSess");}tgt.tp=cI("TestPerm");if(tgt.tp!="Y"){dt.setHours(dt.getHours()+5);CB("TestPerm","Y",dt.toGMTString());tgt.tp=cI("TestPerm");}}}function C6(tag,cV3,skipJSFParams){var qs="";if(tag.tid)qs+="tid="+tag.tid;var isPV=(tag.tid==1||(tag.pc&&tag.pc.charAt(0)=='Y'));if(!tag.lp&&isPV)tag.lp=cmLastPageID;for(var cOb in tag){if(!tag[cOb]||tag[cOb]===false||tag[cOb]==""||tag[cOb].constructor==Function||cOb=="qs"||cOb=="tid")continue;if(cV3&&cV3[cOb]==tag[cOb])continue;if(qs!="")qs+="&";qs+=cD(cOb)+"="+cE(cD(tag[cOb]));}if(!tag.rs&&tag.ci){if(tag.pi&&isPV)cG7.cM0[tag.ci]=tag.pi;if(tag.ul)cG7.uls[tag.ci]=tag.ul;if(tag.rf)cG7.rfs[tag.ci]=tag.rf;}if(cV3&&cm_SecureTags.indexOf("|"+tag.tid+"|")!=-1)cV3.protocol="https:";if(cm_JSFEnabled&&!skipJSFParams){cmJSFSetSessionCookies(false,tag.ci);qs+=(qs!=""?"&":"")+cmCore_JSFParamEnabled+"=1";var userIdParamValue=cI(cm_JSFCoreCookieName);if(userIdParamValue){userIdParamValue=userIdParamValue.split("&",2)[0];if(userIdParamValue=="anonymous"||(cI("CMOptout")?cI("CMOptout").toUpperCase()=="ANONYMOUS":false)){userIdParamValue="1000000000000003";}}qs+="&"+cmCore_JSFParamUserID+"="+(userIdParamValue!=null?userIdParamValue:"");qs+="&"+cmCore_JSFParamSessionID+"="+cmJSFGetSessionValue(tag.ci);if(cmSpecCookiesCount>0){qs+="&"+cmCore_JSFParamSpecCookiesCount+"="+cmSpecCookiesCount;qs+="&"+cmCore_JSFParamSpecCookiesNames+"="+cmSpecCookieNames;qs+="&"+cmCore_JSFParamSpecCookiesValues+"="+cmSpecCookieValues;}qs+="&"+cmCore_JSFParamValidFlag+"="+cmJSFGetValidFlagValue(tag.ci);}return qs;}function C8(cV3){var cm_pl=location.protocol;if(cV3&&cV3.protocol)cm_pl=cV3.protocol;if(cm_pl!="http:"&&cm_pl!="https:")cm_pl="http:";return cm_pl;}function c0(){var a=arguments;C4(this,this,a[0]);C5(this,a[0]);var cV3=new Object();var qs=C6(this,cV3);var req=new CQ(C8(cV3),cm_HOST,qs);return a[1]?req:req.cM5();}function C7(){var cV3,first,p,a,pl,lim,len,l,i,tq;if(!cG8||cG8.length<2)return null;cV3=cG8[0];first=cG8[1];cV3.ci=first.ci;for(i=2;i<cG8.length;i++){if(cV3.ci.indexOf(cG8[i].ci)==-1){cV3.ci+=";"+cG8[i].ci;}}for(i=0;i<cG0.length;i++){p=cG0[i];if(!cV3[p])cV3[p]=first[p];}a=arguments;C4(first,cV3,a[0]);C5(cV3,a[0]);pl=C8(cV3);img=new CQ(pl,cm_HOST);img.qs=C6(cV3);lim=c4();len=0;for(var h=0;h<img.hosts.length;h++){l=pl.length+img.hosts[h].length+img.qs.length;if(l>len)len=l;}for(i=1;i<cG8.length;i++){tq=C6(cG8[i],cV3,true);if(i>1&&len+tq.length+1>lim){for(j=1;j<cG8.length-i+1;j++)cG8[j]=cG8[j+i-1];cG8.length=cG8.length-i+1;break;}len+=tq.length+1;img.qs+="&"+tq;}if(i==cG8.length)cG8=null;return img;}function _cm(){var i,a=arguments;this.ci=cm_ClientID;for(i=0;i<a.length;i++)this[a[i]]=a[++i];this.write=cC;this.getImgSrc=c0;this.writeImg=cC;this.st=cm_ClientTS;this.vn1="4.3.2";if(cF(5.5)||!cF(0)){var ec=(cm_UseUTF8&&encodeURIComponent)||cGU?"utf-8":cG6.charset;if(!ec)ec=cG6.defaultCharset;if(!ec)ec=cG6.characterSet;this.ec=ec;}}function cD(s){var z="";s=z+(!s?"":s);return s.split("'").join(z).split("\"").join(z).split("\r").join(z).split("\n").join(z);}function cE(s){var i=0,j;while(s.charAt(i)==" "&&i!=s.length)i++;j=s.length-1;while(s.charAt(j)==" "&&j!=0)j--;s=s.substring(i,j+1);if(cm_UseUTF8&&encodeURIComponent)s=encodeURIComponent(s);else{s=preEscape(s);s=escape(s);var regularExpression=new RegExp("%25u00","g");s=s.replace(regularExpression,"%u00");}s=s.split("+").join("%2B");return s;}function preEscape(str){for(var i=160;i<256;i++){var regularExpression=new RegExp(String.fromCharCode(i),"g");str=str.replace(regularExpression,"%u00"+i.toString(16));}return str;}function cF(ver){var i=cGM.indexOf("MSIE");if(i!=-1)return(parseFloat(cGM.substring(i+5))>=ver);return false;}function CD(ver){return(cGN.indexOf("Gecko")!=-1&&parseInt(cGM)>=ver);}function cI(nm,skey,cV5){var dc=cG6.cookie;var cV4=cJ(nm,dc,";");if(!skey||!cV4){if(!cV4&&cV5!=null){return cV5;}return cV4;}cV4=cJ(skey,cV4,"&");if(!cV4&&cV5!=null){return cV5;}return unescape(cV4);}function CL(){var cookies,dc,nv,i,c=0;dc=cG6.cookie;if(dc){cookies=dc.split(";");c=cookies.length;for(i=0;i<cookies.length;i++){nv=cookies[i].split("=");if(nv.length<2||nv[1]==null||nv[1]==""){c--;}}}return c;}function CB(nm,val,expires,domain){var err,len,v,dc=cG6.cookie;err=null;len=val.length+1;if(!cI(nm)){len+=nm.length;}if(len>4096)err=1;else if(dc){if(CL()>=50)err=2;}if(err){if(cG7.onError)cG7.onError(err,name);return false;}v=nm+"="+val+";path=/";if(domain)v+=";domain="+domain;if(expires)v+=";expires="+expires;cG6.cookie=v;return true;}function cmSetSubCookie(nm,skey,value,expires,domain){var currentCookieVal=cI(nm);var newCookieVal;if(!currentCookieVal){newCookieVal=skey+"="+value;}else{var sep='&';var pfx=skey+"=";var begin=currentCookieVal.indexOf(pfx);if(begin>=0){if(begin>0&&currentCookieVal.charAt(begin - 1)!=sep){begin=currentCookieVal.indexOf(sep+pfx);if(begin>=0){begin++;}}}if(begin>=0){var valueOffset=begin+skey.length+1;var end=currentCookieVal.indexOf(sep,valueOffset);if(end<0){end=currentCookieVal.length;}newCookieVal=currentCookieVal.substring(0,valueOffset)+value+currentCookieVal.substring(end);}else{newCookieVal=currentCookieVal+sep+skey+"="+value;}}CB(nm,newCookieVal,expires,domain);}function CC(nm,domain){var v=cI(nm);if(v!=null){var dt=new Date();dt.setYear(1973);var v=nm+"=;path=/;expires="+dt.toGMTString();if(domain)v+=";domain="+domain;cG6.cookie=v;}return v;}function cJ(nm,src,sep){var pfx,s,begin,end,obj=null;pfx=nm+"=";s=sep+' ';begin=src.indexOf(s+pfx);if(begin==-1){s=sep;begin=src.indexOf(s+pfx);}if(begin==-1){begin=src.indexOf(pfx);if(begin!=0){return null;}}else{begin+=s.length;}end=src.indexOf(s,begin);if(end==-1){end=src.length;}return src.substring(begin+pfx.length,end);}function cK(elt,type,handle,fName,f){if(handle){var event=handle.toString();var tempFName=fName.substring(0,fName.indexOf("("));if(event.indexOf(tempFName)==-1){if(cGU&&event.indexOf("function "+"(")==0){if(type=="onload"){fName=event.substring(event.indexOf("{"),event.length)+";"+fName+";";}else{fName=fName+";"+event.substring(event.indexOf("{"),event.length);}}else{elt["_c_"+type]=handle;if(type=="onload"){fName="if(!e)var e=null;var ret=this._c_"+type+"("+(cF(5)?"":"e")+");"+fName+";return ret;"}else{fName="if(!e)var e=null;"+fName+";return this._c_"+type+"("+(cF(5)?"":"e")+");"}}if(type=="onsubmit"){elt.cmFunction1=cP;elt.cmFunction2=elt.onsubmit;return cmAlternateOnSubmit;}else{var newfunc=new Function("e",fName);return newfunc;}}else{return handle;}}else{if(type=="onsubmit"){elt.cmFunction1=cP;return cmAlternateOnSubmit;}else{return f;}}}function cmAlternateOnSubmit(e){e=CG(e);if(!e){if(document.cmPostbackForm){e=document.cmPostbackForm;}else if(this.cmFunction1){e=this;}else{return true;}}else if(e){if(e.form){e=e.form;}}else{return true;}if(e.cM1>=0){CI();cmJSFPMigrateLink(e,"action");cO(e?e.cM1:-1,"S");CA(1);CJ(1);CE();}if(e.cmFunction2){return e.cmFunction2();}else{return true;}}function CG(e){var e;if(cF(4)){if(window.event){e=window.event.srcElement;}}else if(e){if(CD(5)){e=e.currentTarget;}else{e=e.target;}}return e;}function CU(cm,cVBH,pi,dest,ref){var ul,rf;cm.pi=pi?pi:c1(cVBH);if(cGQ){if(dest||ref){cm.ul=dest?dest:"";cm.rf=ref?ref:"";}else{ul=CS(cVBH);rf=CT(cVBH);if(cm.pi==""||ul.indexOf("cm_")>0||(rf!=""&&rf.indexOf(window.location.protocol+"//"+window.location.host)!=0)){cm.ul=ul;cm.rf=rf;}}}}function cL(t1,t3,fname,cVB,url,field,resent,pi,dest,ref){var cm=new _cm("tid","10");CU(cm,cm.ci,pi,dest,ref);cm.st=t1;cm.ti=t3;cm.fo=fname;cm.ac=cVB;cm.hr=url;cm.fi=field;if(resent)cm.rs="Y";cm.write(1);}function cM(t1,ti,name,href,resent,pi,dest,ref){var cm=new _cm("tid","8");CU(cm,cm.ci,pi,dest,ref);cm.st=t1;cm.ti=ti;cm.nm=name;cm.hr=href;var cm_crIndex=href.indexOf("cm_cr=");var cm_meIndex=href.indexOf("cm_me=");if(cm_crIndex>-1){var tempIndex=href.indexOf("&",cm_crIndex);if(tempIndex==-1){cm.cm_cr=href.substring(cm_crIndex+6);}else{cm.cm_cr=href.substring(cm_crIndex+6,tempIndex);}}if(cm_meIndex>-1){var tempIndex=href.indexOf("&",cm_meIndex);if(tempIndex==-1){cm.cm_me=href.substring(cm_meIndex+6);}else{cm.cm_me=href.substring(cm_meIndex+6,tempIndex);}}if(resent)cm.rs="Y";cm.write(1);}function cN(t1,t2,cx,t4,resent,pi){var cm=new _cm("tid","11");cm.pi=pi?pi:c1(cm.ci);cm.st=t1;cm.lc=t2;cm.lx=t4;cm.cx=cx;if(resent)cm.rs="Y";cm.write(1);}function CM(href){var n,len,a,q;if((n=href.indexOf("?"))==-1)n=href.lastIndexOf("/");if(n!=-1){len=href.indexOf("#",n);if(len==-1)len=href.length;while(n!=-1&&n<len){n=href.indexOf("cm_",n);if(n!=-1){a=href.indexOf("&",n);if(a==-1)a=len;q=href.indexOf("=",n);if(q!=-1&&q<a)this[href.substring(n,q)]=href.substring(q+1,a);n=a;}}}}function CK(href,trackSP,trackRE,trackCR,trackME){var cm,link,sp,re,cr,me;if((trackSP||trackRE)&&href){cm=new _cm("tid","9");link=new CM(CP(href));if(trackSP){sp=cm.cm_sp_o=link.cm_sp_o;if(!sp)sp=cm.cm_sp=link.cm_sp;}if(trackRE){re=cm.cm_re_o=link.cm_re_o;if(!re)re=cm.cm_re=link.cm_re;}if(trackCR){if(href.indexOf("#")==-1){cr=cm.cm_cr=link.cm_cr;}}if(trackME){me=cm.cm_me=link.cm_me;}if(sp||re||cr||me){cm.pi=c1(cm.ci);cm.st=cm_ClientTS;cm.write(1);}}}function CH(t1,ti,msg,resent,pi){if(msg!=cGL){var cm=new _cm("tid","12");cm.pi=pi?pi:c1(cm.ci);cm.st=t1;cm.ti=ti;if(resent)cm.rs="Y";cm.er=msg;cm.write(1);cGL=cm_FormError;}}function cO(cVC,cVB){var dt,url="";cVB=cVC+":"+cVB;if(cVC!=-1){var curForm=cG6.forms[cVC];if(cF(5))url=curForm.attributes.action.nodeValue;else if(curForm.attributes.getNamedItem){url=curForm.attributes.getNamedItem('action');if(url)url=url.value;}else url=curForm.action;if(!url)url="";}if(cV(url)){dt=new Date();cGH=dt.getTime();cGF=cVB;cGE=cG7.normalizeURL(url,true);cL(cm_ClientTS,cGH,cGD,cGF,cGE,cGC,false);cGG=cGC;cGC="";}else{cGF="";}}function cP(e){CI();var e=CG(e);cmJSFPMigrateLink(e,"action");cO(e?e.cM1:-1,"S");CA(1);CJ(1);CE();}function cQ(e){var e=CG(e);if(e)cO(e.cM1,"R");}function cR(e){var e=CG(e);if(e)e.cM3="xyzzy";}function cS(e){var e=CG(e);if(e)e.cM3=e.value;}function cT(e){var e=CG(e);if(e&&(e.type!="submit")&&(e.type!="reset")){if(e.value!=e.cM3){var cmTempFormID=e.name;if(!cmTempFormID){cmTempFormID=e.id;}var cmTempFieldSeq=cGC+e.cM1+":"+e.cM2+":"+cmTempFormID.split(":").join("|").split(";").join("|")+";";if(cmTempFieldSeq.length<1000){cGC=cmTempFieldSeq;}}}}function CF(e){var e=CG(e);if(e)cGC=cGC+e.cM1+":"+e.cM2+":"+e.name+";";}function cU(){if(cm_SkipHandlerReg.indexOf("F")==-1){var i,form,cV9,j,e;for(i=0;i<cG6.forms.length;i++){form=cG6.forms[i];if(form.cM1==null){form.cM1=i;if(cF(5))if(form.attributes.name){cV9=form.attributes.name.nodeValue;}else if(form.attributes.id){cV9=form.attributes.id.nodeValue;}else{cV9="UNDEFINED";}else if(form.attributes.getNamedItem){cV9=form.attributes.getNamedItem('name');if(cV9)cV9=cV9.value;}else cV9=form.name;if(!cV9)cV9="";cGD=cGD+cV9+":"+i+";";form.onsubmit=cK(form,"onsubmit",form.onsubmit,"cP(e)",cP);form.onreset=cK(form,"onreset",form.onreset,"cQ(e)",cQ);for(j=0;j<form.elements.length;j++){e=form.elements[j];e.cM1=i;e.cM2=j;e.cM3="";e.onfocus=cK(e,"onfocus",e.onfocus,"cS(e)",cS);e.onblur=cK(e,"onblur",e.onblur,"cT(e)",cT);e.onchange=cK(e,"onchange",e.onchange,"cR(e)",cR);if(e.type=='submit'||e.type=='button')e.onclick=cK(e,"onclick",e.onclick,"CF(e)",CF);}}}}}function cV(path){if(cm_TrackLink==true||cm_TrackLink=="A")return true;else{if(cm_TrackLink=="E"&&path.indexOf("/")!=0)return true;var de;if((de=cm_DownloadExtensions)!=null){var p=path.lastIndexOf(".");if(p!=-1){var ext=path.substring(p);for(var e=0;e<de.length;e++){if(ext==de[e])return true;}}}return false;}}function cW(e){CI();var e=CG(e);if(e)C9(e);CA(1);CJ(1);CE();}function C9(e){cGI="";cGJ="";cGK="";var type=e.tagName.toUpperCase();if(type=="AREA"){cGJ=e.href?e.href:"";var p=e.parentElement?e.parentElement:e.parentNode;if(p!=null)cGI=p.name?p.name:"";}else{while(type!="A"&&type!="HTML"){if(!e.parentElement)e=e.parentNode;else e=e.parentElement;if(e)type=e.tagName.toUpperCase();}if(type=="A"){cGJ=e.href?e.href:"";cGI=e.name?e.name:"";}}var man_cm_re=e.getAttribute("manual_cm_re");if(man_cm_re){cGJ=cGJ.split("#");cGJ[0]=cGJ[0]+((cGJ[0].indexOf("?")>-1)?"&":"?")+"cm_re="+man_cm_re;cGJ=cGJ.join("#");}var man_cm_sp=e.getAttribute("manual_cm_sp");if(man_cm_sp){cGJ=cGJ.split("#");cGJ[0]=cGJ[0]+((cGJ[0].indexOf("?")>-1)?"&":"?")+"cm_sp="+man_cm_sp;cGJ=cGJ.join("#");}cGJ=cG7.normalizeURL(cGJ,true);if(cV(cGJ)==true){var dt=new Date();cGK=dt.getTime();if(typeof cmCustomLinkClickHandler=='function'){cmCustomLinkClickHandler(e);}cM(cm_ClientTS,cGK,cGI,cGJ,false);}else{cGJ="";}cmJSFPMigrateLink(e,"href");}function cX(phase){CI();var i,lnk,imp,trackSP,trackRE,trackCR,trackME;imp=cm_TrackImpressions;trackSP=(imp.indexOf("S")!=-1);trackRE=(imp.indexOf("R")!=-1);trackCR=(imp.indexOf("C")!=-1);trackME=(imp.indexOf("C")!=-1);for(i=0;i<cG6.links.length;i++){lnk=cG6.links[i];if(cm_SkipHandlerReg.indexOf("L")==-1){if(!CD(5)){lnk.onclick=cK(lnk,"onclick",lnk.onclick,"cW(e)",cW);}else if(!lnk.cM4){lnk.addEventListener("click",cW,false);lnk.cM4=1;}}if(phase=="onload"){var tempLinkHref=lnk.href;if(lnk.getAttribute("manual_cm_re")){tempLinkHref=tempLinkHref.split("#");tempLinkHref[0]=tempLinkHref[0]+((tempLinkHref[0].indexOf("?")>-1)?"&":"?")+"cm_re="+lnk.getAttribute("manual_cm_re");tempLinkHref=tempLinkHref.join("#");}if(lnk.getAttribute("manual_cm_sp")){tempLinkHref=tempLinkHref.split("#");tempLinkHref[0]=tempLinkHref[0]+((tempLinkHref[0].indexOf("?")>-1)?"&":"?")+"cm_sp="+lnk.getAttribute("manual_cm_sp");tempLinkHref=tempLinkHref.join("#");}if(!lnk.cmImpressionSent){CK(tempLinkHref,trackSP,trackRE,trackCR,trackME);lnk.cmImpressionSent=1;}}}CJ(1);}function cY(e){var dt=new Date();cmT2=dt.getTime();CH(cm_ClientTS,cmT2,cm_FormError,false);if(!cGS&&(cF(4)||CD(5))){window.cX("onload");cU();}cGB=null;}function cZ(e){cG3=null;CI();var delay=false;if(cGC!=""){cO(-1,"U");delay=true;}CA(0);CH(cm_ClientTS,cmT3,cm_FormError,false);CJ(1);if(delay){window.dontExit=true;var d1=new Date();var d2=new Date();for(;dontExit&&(d2-d1<1000);){d2=new Date();}}CE();if(cm_UseCookie&&cG7.cPE==0){var pi=escape(c1(cm_ClientID));CB("cmRS","t3="+cmT3+"&pi="+pi);}if(cG7.onUnload)cG7.onUnload();if(cF(5)&&!cF(5.5)&&window.parent!=window)cG7.cTI=null;else{if(!cGU){for(var i=0;i<cG7.cTI.length;i++){cG7.cTI[i].onload=null;cG7.cTI[i].onerror=null;}}}}function CA(force){var dt=new Date();var cx=dt.getTime();if(cm_TrackTime&&(cmT3==-1||force==1||(cx-cmT3)>10000)){cN(cm_ClientTS,cmT2,cx,cGA,false);}cmT3=cx;}function CE(){if(cm_UseCookie){var cVF,cVG,pg,cVD,cVE="";cVF=cGA?"&t4="+cGA:"";cVG=(cGJ!="")?"&lti="+cGK+"&ln="+escape(cGI)+"&hr="+escape(cGJ):"";pg=new Object();CU(pg,cm_ClientID);var jsfpdata="";if(cm_JSFEnabled){jsfpdata="&cjen=1";}cVD="&t1="+cm_ClientTS+"&t2="+cmT2+"&t3="+cmT3+cVF+cVG+"&fti="+cGH+"&fn="+escape(cGD)+"&ac="+cGF+"&fd="+escape(cGG)+"&uer="+escape(cm_FormError)+"&fu="+escape(cGE)+"&pi="+escape(pg.pi)+"&ho="+escape(cm_HOST)+"&ci="+escape(cm_ClientID);if(pg.ul&&pg.rf&&pg.ul.length+pg.rf.length<cGO)cVE="&ul="+escape(pg.ul)+"&rf="+escape(pg.rf);if(!CB("cmRS",cVD+cVE+jsfpdata))if(!CB("cmRS",cVD+jsfpdata))CB("cmRS","t3="+cmT3+"&pi="+escape(pg.pi)+jsfpdata);}}function cmSetAvid(id){clearTimeout(cm_AvidLoadTimer);if(id){cm_Avid=id;}else{cm_Avid="none";}CB("CMAVID",cm_Avid);cm_AvidLoadTimedOut=false;}function cmJSFConvertSAtoCM(value){var len=value.length;var lenSA=22;var lenCM=23;if(len<19)return null;if(value.charAt(0)!="U"&&value.charAt(0)!="u")return null;if(len<lenSA){value=value+value.substring(len -(lenSA - len),len);}var result="99";result=result+value.substring(1,lenCM - 1);return result;}function cmJSFSetSessionCookies(reset,cVBHs){if(!cm_JSFEnabled)return;var splitClientIDs=cVBHs.split(";");for(var n=0;n<splitClientIDs.length;n++){cmJSFSetSingleSessionCookie(reset,splitClientIDs[n]);}}function debugReadCookie(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 cmJSFSetSingleSessionCookie(reset,cVBH,noRecurse){if(!cm_JSFEnabled)return;if(cI("CMOptout")?cI("CMOptout").toUpperCase()=="OPT_OUT":false)return;var fpCookieVal=cI(cm_JSFCoreCookieName);if(fpCookieVal==null){if(!cmJSFDoMigrateCookies()){fpCookieVal=cmJSFCreateUserId();if(cm_JSFTrackClients){fpCookieVal+="&ci="+cVBH;}CB(cm_JSFCoreCookieName,fpCookieVal,cmCookieExpDate,cm_JSFPCookieDomain);}if(!noRecurse){cmJSFSetSingleSessionCookie(true,cVBH,true);}cmJSFSetValidFlagSingleValue(cmValidFlag_NewSession,false,cVBH);cmJSFSetValidFlagSingleValue(cmValidFlag_NewVisitor,true,cVBH);return;}if(cm_JSFTrackClients){var knownClientIds=cJ("ci",fpCookieVal,"&");knownClientIds=knownClientIds&&unescape(knownClientIds);if(knownClientIds&&knownClientIds.indexOf(cVBH)<0){cmSetSubCookie(cm_JSFCoreCookieName,"ci",knownClientIds+","+cVBH,cmCookieExpDate,cm_JSFPCookieDomain);knownClientIds=cI(cm_JSFCoreCookieName,"ci");if(knownClientIds.indexOf(cVBH)>=0){if(!noRecurse){cmJSFSetSingleSessionCookie(true,cVBH,true);}cmJSFSetValidFlagSingleValue(cmValidFlag_NewSession,false,cVBH);cmJSFSetValidFlagSingleValue(cmValidFlag_NewVisitor,true,cVBH);return;}}}var sessionCookieExists=(cmJSFGetSessionLoginCookieValue(cVBH)!=null);if(!sessionCookieExists){if(cmJSFCombineSessionCookies(cVBH)){sessionCookieExists=(cmJSFGetSessionLoginCookieValue(cVBH)!=null);}}if(!sessionCookieExists&&!reset){if(!noRecurse){cmJSFSetSingleSessionCookie(true,cVBH,true);}cmJSFSetValidFlagSingleValue(cmValidFlag_NewSession,true,cVBH);return;}var dt=new Date();var cmSessionTime=dt.getTime();var cmSessionExpTime=cmSessionTime+cm_JSFSessionTimeout*1000;var isSessionExpired=cmJSFIsSessionExpired(cmJSFGetSessionExpireCookieValue(cVBH));if((reset!=null&&reset==true)||isSessionExpired){var cmTimeoutStr=cmSessionTime.toString();if(cmTimeoutStr.length<10){while(cmTimeoutStr.length<10)cmTimeoutStr="0"+cmTimeoutStr;}else cmTimeoutStr=cmTimeoutStr.substring(0,10);cmJSFSetSessionLoginCookieValue(cVBH,cmTimeoutStr);if(isSessionExpired)cmJSFSetValidFlagSingleValue(cmValidFlag_SessionReset,true,cVBH);else cmJSFSetValidFlagSingleValue(cmValidFlag_NewSession,true,cVBH);if(cm_JSFSessionType=="T")cmJSFSetSessionExpiresCookieValue(cVBH,cmSessionExpTime.toString());}if(cm_JSFSessionType=="I")cmJSFSetSessionExpiresCookieValue(cVBH,cmSessionExpTime.toString());}function cmJSFIsSessionExpired(cookieExpValue){if(cookieExpValue==null)return false;var dt=new Date();if(dt.getTime()>cookieExpValue)return true;else return false;}function cmJSFCreateUserId(){var currDate=new Date();var rand1=Math.random();if(rand1==0)rand1=Math.random();var rand2=Math.random();if(rand2==0)rand2=Math.random();var userId=rand1.toString().substring(2,4)+rand2.toString().substring(2,12)+currDate.getTime().toString();var len=userId.length;var lenCM=23;if(len<lenCM){userId=userId+userId.substring(len -(lenCM - len),len);}if(len>lenCM){userId=userId.substring(0,lenCM);}return userId;}function cmJSFSetValidFlagValue(value,append,cVBHs){if(!cm_JSFEnabled)return;var splitClientIDs=cVBHs.split(";");for(var n=0;n<splitClientIDs.length;n++){cmJSFSetValidFlagSingleValue(value,append,splitClientIDs[n]);}}function cmJSFSetValidFlagSingleValue(value,append,cVBH){var validFlag=null;var validFlagValueStr=cmJSFGetSessionValidFlagCookieValue(cVBH);if(validFlagValueStr){var validFlagValue=parseInt(validFlagValueStr);if(!isNaN(validFlagValue))validFlag=validFlagValue;}if(validFlag==null)validFlag=cmValidFlag_SessionContinue;if(append){if(value==cmValidFlag_NewSession)validFlag &=~cmValidFlag_SessionReset;if(value==cmValidFlag_SessionReset)validFlag &=~cmValidFlag_NewSession;validFlag |=value;}else{validFlag=value;}validFlag |=cmValidFlag_SessionContinue;cmJSFSetSessionValidFlagCookieValue(cVBH,validFlag);}function cmJSFCreateCombinedSessionCookieName(cVBH){return cVBH+"_clogin";}function cmJSFCombineSessionCookies(cVBH){var loginValue=cI(cVBH+"_login");var expiresValue=cI(cVBH+"_expires");var validFlagValue=cI(cVBH+"_valid");if(loginValue!=null&&expiresValue!=null & validFlagValue!=null){var combinedCookieStr="l="+loginValue+"&e="+expiresValue+"&v="+validFlagValue;CB(cmJSFCreateCombinedSessionCookieName(cVBH),combinedCookieStr,null,cm_JSFPCookieDomain);CC(cVBH+"_login",cm_JSFPCookieDomain);CC(cVBH+"_expires",cm_JSFPCookieDomain);CC(cVBH+"_valid",cm_JSFPCookieDomain);return true;}return false;}function cmJSFSetSessionLoginCookieValue(cVBH,value){cmSetSubCookie(cmJSFCreateCombinedSessionCookieName(cVBH),"l",value,null,cm_JSFPCookieDomain);}function cmJSFSetSessionExpiresCookieValue(cVBH,value){cmSetSubCookie(cmJSFCreateCombinedSessionCookieName(cVBH),"e",value,null,cm_JSFPCookieDomain);}function cmJSFSetSessionValidFlagCookieValue(cVBH,value){cmSetSubCookie(cmJSFCreateCombinedSessionCookieName(cVBH),"v",value,null,cm_JSFPCookieDomain);}function cmJSFGetSessionLoginCookieValue(cVBH){return cI(cmJSFCreateCombinedSessionCookieName(cVBH),"l");}function cmJSFGetSessionExpireCookieValue(cVBH){return cI(cmJSFCreateCombinedSessionCookieName(cVBH),"e");}function cmJSFGetSessionValidFlagCookieValue(cVBH){return cI(cmJSFCreateCombinedSessionCookieName(cVBH),"v");}function cmJSFGetSessionValue(cVBHs){var value="";var delimiter="";var splitClientIDs=cVBHs.split(";");for(var n=0;n<splitClientIDs.length;n++){var cVBH=splitClientIDs[n];if(cVBH=="")continue;var currValue=cmJSFGetSessionLoginCookieValue(cVBH);value+=delimiter+(currValue!=null?currValue:"");if(delimiter=="")delimiter="|";}return value;}function cmJSFGetValidFlagValue(cVBHs){var value="";var delimiter="";var splitClientIDs=cVBHs.split(";");for(var n=0;n<splitClientIDs.length;n++){var cVBH=splitClientIDs[n];if(cVBH=="")continue;var currValue=cmJSFGetSessionValidFlagCookieValue(cVBH);value+=delimiter+(currValue!=null?currValue:"");if(delimiter=="")delimiter="|";}return value;}function cmJSFDoMigrateCookies(){if(cm_JSFMigrationEnabled==cmMigrationFrom1p_SA){if(cI(cm_JSFCoreCookieName)==null){var cmSACookieValue=cI(cmSACookieName);if(cmSACookieValue){cmSACookieValue=cmJSFConvertSAtoCM(cmSACookieValue);if(cmSACookieValue!=null){CB(cm_JSFCoreCookieName,cmSACookieValue,cmCookieExpDate,cm_JSFPCookieDomain);return true;}}}}return false;}_cm.prototype.addTP=function(){var tp=new cmTP(new cmApp());for(var o in tp){if(tp[o]==null||tp[o]==""||tp[o].toString().indexOf("function ")==0)continue;this[o]=cE(cD(tp[o]));}return this;};function cmApp(){var n=navigator,b=n.appName,c=this;if(b=="Netscape"){c.b="ns"}else if(b=="Microsoft Internet Explorer"){c.b="ie"}else{c.b=b}c.v=parseInt(n.appVersion);}function cmTP(c){var n=navigator,w=window.screen;this.jv=cmJv;if(c.b=="ns"&&c.v>=3)for(var i=0;i<n.plugins.length;i++)eval('this.np'+i+'=n.plugins['+i+'].name');if(c.v>3){if(c.v>=4&&(c.b=="ns"||c.b=="ie")){this.je=(n.javaEnabled()==true)?"y":"n";}if(c.b=="ie"){this.ce=n.cookieEnabled;this.cp=n.cpuClass;}this.sw=w.width;this.sh=w.height;this.pd=w.colorDepth;if(this.pd==0){this.pd=w.pixelDepth;}var fs=w.fontSmoothingEnabled;if(fs){this.fs=fs?"y":"n";}}var tz=new Date();if(tz.getTimezoneOffset()==0){this.tz="0";}else{this.tz=tz.getTimezoneOffset()/60;}}function cmJSFPMigrateCookies(visitorID,sessionIDList){if(!visitorID||!sessionIDList||!cm_JSFPCookieMigrate||!cm_JSFEnabled){return;}var tempVisitor=cI(cm_JSFCoreCookieName);if(!tempVisitor||cm_JSFPForceMigrateCookies){CB(cm_JSFCoreCookieName,visitorID+(cm_JSFTrackClients?"&ci="+cm_ClientID.split(";").join(","):""),cmCookieExpDate,cm_JSFPCookieDomain);var dt=new Date();var cmSessionExpTime=(dt.getTime()+cm_JSFSessionTimeout*1000).toString();var cVAArray=cm_ClientID.split(";");for(var i=0;i<cVAArray.length;++i){if(sessionIDList[cVAArray[i]]!==undefined){cmJSFSetSessionLoginCookieValue(cVAArray[i],sessionIDList[cVAArray[i]]);cmJSFSetSessionExpiresCookieValue(cVAArray[i],cmSessionExpTime);cmJSFSetSessionValidFlagCookieValue(cVAArray[i],"1");}}}}function cmJSFPMigrateLink(e,type){if(cm_JSFEnabled&&cm_JSFPCookieMigrate){var pageDomain=cm_JSFPCookieDomain;var linkDomainRE=/:\/\/([a-z0-9_\-\.]+)/i;var linkDomain=linkDomainRE.exec(e[type]);if(linkDomain){linkDomain=linkDomain[1];}if(linkDomain&&(linkDomain.indexOf(pageDomain)===-1)&&(e[type].toLowerCase().indexOf("javascript")!==0)){var tempVisitorID=cI(cm_JSFCoreCookieName);if(tempVisitorID){tempVisitorID=tempVisitorID.split("&",2)[0];}var tempClientIDList=cm_ClientID.split(";");var tempSessionParameters="";for(var i=0;i<tempClientIDList.length;++i){tempSessionParameters+="&"+cm_JSFPCookieMigrateSessionID+"_"+tempClientIDList[i]+"="+cmJSFGetSessionLoginCookieValue(tempClientIDList[i]);}e[type]+=(e[type].indexOf("?")>-1?"&":"?")+cm_JSFPCookieMigrateVisitorID+"="+tempVisitorID+tempSessionParameters;}}}var cm_exAttr=new Array();var cm_ClientID="90226177";var cm_TrackLink="A";var cm_TrackImpressions="S";var cm_JSFEnabled=true;var cmJv="1.0";if(typeof(isNaN)=="function"){cmJv="1.1";}
if(typeof(isFinite)=="function"){cmJv="1.2";}
if(typeof(NaN)=="number"){cmJv="1.3";}
if(typeof(decodeURI)=="function"){cmJv="1.5";}
if(typeof(Array.forEach)=="function"){cmJv="1.6";}
if(typeof(Iterator)=="object"){cmJv="1.7";}
var cmCheckCMEMFlag=true;function cmSetProduction(){cm_HOST="data.coremetrics.com/eluminate?";cm_JSFPCookieDomain="dealsdirect.com.au";}
function cmCreateManualImpressionTag(pageID,trackSP,trackRE){cmMakeTag(["tid","9","pi",pageID,"cm_sp",trackSP,"cm_re",trackRE,"st",cm_ClientTS]);}
function cmCreateManualLinkClickTag(href,name,pageID){if(cmCreateLinkTag==null&&cM!=null){var cmCreateLinkTag=cM;}
if(cmCreateLinkTag!=null){var dt=new Date();cmLnkT3=dt.getTime();href=cG7.normalizeURL(href,true);cmCreateLinkTag(cm_ClientTS,cmLnkT3,name,href,false,pageID);}}
function cmCreateManualPageviewTag(pageID,categoryID,DestinationURL,ReferringURL){cmMakeTag(["tid","1","pi",pageID,"cg",categoryID,"ul",DestinationURL,"rf",ReferringURL]);}
function cmCreatePageElementTag(elementID,elementCategory,pageID,pageCategoryID,elementLocation,attributes){if(attributes){var cm_exAttr=new Array;cm_exAttr=attributes.split("-_-");}
cmMakeTag(["tid","15","eid",elementID,"ecat",elementCategory,"pflg","0","pid",pageID,"pcat",pageCategoryID,"eloc",elementLocation,"cm_exAttr",cm_exAttr]);}
function cmCreateProductElementTag(elementID,elementCategory,productID,productCategoryID,elementLocation,attributes){if(attributes){cm_exAttr=attributes.split("-_-");}
cmMakeTag(["tid","15","eid",elementID,"ecat",elementCategory,"pflg","1","pid",productID,"pcat",productCategoryID,"eloc",elementLocation,"cm_exAttr",cm_exAttr]);}
function cmCreateTechPropsTag(pageID,categoryID,attributes){if(pageID==null){pageID=cmGetDefaultPageID();}
if(attributes){var cm_exAttr=new Array();cm_exAttr=attributes.split("-_-");}
cmMakeTag(["tid","6","pi",pageID,"cg",categoryID,"pc","Y","cm_exAttr",cm_exAttr]);}
function cmCreatePageviewTag(pageID,categoryID,searchString,searchResults,attributes){if(pageID==null){pageID=cmGetDefaultPageID();}
if(attributes){var cm_exAttr=new Array;cm_exAttr=attributes.split("-_-");}
cmMakeTag(["tid","1","pi",pageID,"cg",categoryID,"se",searchString,"sr",searchResults,"cm_exAttr",cm_exAttr]);}
function cmCreateDefaultPageviewTag(categoryID){cmCreatePageviewTag(cmGetDefaultPageID(),categoryID);}
function cmCreateProductviewTag(productID,productName,categoryID,attributes){if(attributes){var cm_exAttr=new Array;cm_exAttr=attributes.split("-_-");}
cmMakeTag(["tid","5","pi","PRODUCT: "+productName+" ("+productID+")","pr",productID,"pm",productName,"cg",categoryID,"pc","Y","cm_vc",cmExtractParameter("cm_vc",document.location.href),"cm_exAttr",cm_exAttr]);}
var __sArray=new Array();var __skuString="";var __ex=new Array();function __cmGetPIPC(__pr,__cg){var __pI,i;var cmAttr1=new Array();var cmAttr2=new Array();for(i=0;i<__ex.length;++i){cmAttr1=cmAttr1+__ex[i];}
for(__pI=0;__pI<__sArray.length;++__pI){if(__ex.length>0){cmAttr2=new Array();for(i=__sArray[__pI].length-__ex.length*2+1;i<__sArray[__pI].length;i=i+2){cmAttr2=cmAttr2+__sArray[__pI][i];}
if(__pr==__sArray[__pI][1]&&__cg==__sArray[__pI][9]&&cmAttr1==cmAttr2){return __pI;}}else{if(__pr==__sArray[__pI][1]&&__cg==__sArray[__pI][9])return __pI;}}
return-1;}
function cmAddShop(__v){var __i=__cmGetPIPC(__v[1],__v[9]);if(__i==-1){if(__ex.length>0){for(var i=0;i<__ex.length;++i){__v[__v.length]="s_a"+(i+1);__v[__v.length]=__ex[i];}}
__sArray[__sArray.length]=__v;}
else{var __oQ=__sArray[__i][5];var __oP=__sArray[__i][7];__sArray[__i][5]=parseInt(__sArray[__i][5])+parseInt(__v[5]);__sArray[__i][7]=(((__v[7]*__v[5])+(__oP*__oQ))/__sArray[__i][5]);}}
function cmCreateShopAction5Tag(productID,productName,productQuantity,productPrice,categoryID,attributes){var pattern=/[^\-0-9\.]/gi;productPrice=productPrice.toString().replace(pattern,"");var cm_slotNum;if(attributes){__ex=attributes.split("-_-");}else{__ex=new Array();}
cmAddShop(["pr",productID,"pm",productName,"qt",productQuantity,"bp",productPrice,"cg",categoryID,"ha1",attributes?cm_hex_sha1(attributes):null,"at","5","tid","4","pc","N"]);}
function cmCreateShopAction9Tag(productID,productName,productQuantity,productPrice,customerID,orderID,orderTotal,categoryID,attributes){var cm_slotNum;var pattern=/[^\-0-9\.]/gi;var pattern1=/^\s+|\s+$/gi;productPrice=productPrice.toString().replace(pattern,"");orderTotal=orderTotal.toString().replace(pattern,"");productID=productID.toString().replace(pattern1,"");if(attributes){__ex=attributes.split("-_-");}else{__ex=new Array();}
cmAddShop(["pr",productID,"pm",productName,"qt",productQuantity,"bp",productPrice,"cg",categoryID,"ha1",attributes?cm_hex_sha1(attributes):null,"cd",customerID,"on",orderID,"tr",orderTotal,"at","9","tid","4","pc","N"]);cmCalcSKUString();}
function cmDisplayShop5s(){cmDisplayShops();}
function cmDisplayShop9s(){cmCalcSKUString();cmDisplayShops();}
function cmCalcSKUString(){__skuString="";var __skuStringArray=new Array();for(var i=0;i<__sArray.length;++i){var __skuStringArrayIndex=-1;for(var y=0;y<__skuStringArray.length;++y){if(__sArray[i][1]==__skuStringArray[y][0]){__skuStringArrayIndex=y;}}
if(__skuStringArrayIndex==-1){var newArrayIndex=__skuStringArray.length;__skuStringArray[newArrayIndex]=new Array();__skuStringArray[newArrayIndex][0]=__sArray[i][1];__skuStringArray[newArrayIndex][1]=__sArray[i][7];__skuStringArray[newArrayIndex][2]=__sArray[i][5];}
else{var __oP=__skuStringArray[__skuStringArrayIndex][1];var __oQ=__skuStringArray[__skuStringArrayIndex][2];__skuStringArray[__skuStringArrayIndex][2]=parseInt(__sArray[i][5])+__oQ;__skuStringArray[__skuStringArrayIndex][1]=(__oP*__oQ+__sArray[i][7]*__sArray[i][5])/(parseInt(__sArray[i][5])+parseInt(__oQ));}}
for(var x=0;x<__skuStringArray.length;++x){__skuString+="|"+__skuStringArray[x][0]+"|"+__skuStringArray[x][1]+"|"+__skuStringArray[x][2]+"|";}}
function cmDisplayShops(){var i;for(i=0;i<__sArray.length;++i){cmMakeTag(__sArray[i]);}
__sArray=new Array();}
function cmCreateOrderTag(orderID,orderTotal,orderShipping,customerID,customerCity,customerState,customerZIP,attributes){var pattern=/[^\-0-9\.]/gi;orderShipping=orderShipping.toString().replace(pattern,"");orderTotal=orderTotal.toString().replace(pattern,"");if(attributes){var cm_exAttr=new Array;cm_exAttr=attributes.split("-_-");}
cmMakeTag(["tid","3","osk",__skuString,"on",orderID,"tr",orderTotal,"sg",orderShipping,"cd",customerID,"ct",customerCity,"sa",customerState,"zp",customerZIP,"cm_exAttr",cm_exAttr]);__skuString="";}
function cmCreateConversionEventTag(eventID,actionType,categoryID,points,attributes){if(attributes){var cm_exAttr=new Array;cm_exAttr=attributes.split("-_-");}
cmMakeTag(["tid","14","cid",eventID,"cat",actionType,"ccid",categoryID,"cpt",points,"cm_exAttr",cm_exAttr]);}
function cmCreateRegistrationTag(customerID,customerEmail,customerCity,customerState,customerZIP,newsletterName,subscribe,attributes){if(attributes){var cm_exAttr=new Array;cm_exAttr=attributes.split("-_-");}
cmMakeTag(["tid","2","cd",customerID,"em",customerEmail,"ct",customerCity,"sa",customerState,"zp",customerZIP,"nl",newsletterName,"sd",subscribe,"cm_exAttr",cm_exAttr]);}
function cmCreateErrorTag(pageID,categoryID){if(pageID==null){pageID=cmGetDefaultPageID();}
cmMakeTag(["tid","404","pi",pageID,"cg",categoryID,"pc","Y"]);}
function cmMakeTag(__v){var cm=new _cm("vn2","e4.0");var i;for(i=0;i<__v.length;i+=2){var _n=__v[i];var _v=__v[i+1];cm[_n]=_v;}
var datestamp=new Date();var stamp=(Math.floor(Math.random()*11111111))+datestamp.valueOf();cm.rnd=stamp;if(cm.tid=="6"){cm.addTP();document.cookie="cmTPSet=Y; path=/";}
if(cm.tid=="1"){if(cI("cmTPSet")!='Y'){cm.tid="6";cm.pc="Y";cm.addTP();document.cookie="cmTPSet=Y; path=/";}}
if(cm.tid!="4"&&typeof(cm.cm_exAttr)!="undefined"){switch(cm.tid){case"6":prefix="pv";break;case"1":prefix="pv";break;case"2":prefix="rg";break;case"5":prefix="pr";break;case"3":prefix="o";break;case"14":prefix="c";break;case"15":prefix="e";break;default:break;}
var attrNum=cm.cm_exAttr.length;if(attrNum>15){attrNum=15;}
for(i=0;i<attrNum;i++){if(cm.tid=="2"){Attval=prefix+(i+1);}else{Attval=prefix+"_a"+(i+1);}
cm[Attval]=cm.cm_exAttr[i];}
cm.cm_exAttr=null;}
if((cm.pi==null)&&(cm.pc=="Y")){cm.pi=cmGetDefaultPageID();}
try{if(parent.cm_ref!=null){cm.rf=parent.cm_ref;if(cm.pc=="Y"){parent.cm_ref=document.URL;}}
if(parent.cm_set_mmc){cm.ul=document.location.href+
((document.location.href.indexOf("?")<0)?"?":"&")+
parent.cm_mmc_params;if(cm.pc=="Y"){parent.cm_ref=cm.ul;parent.cm_set_mmc=false;}}}
catch(err){}
if(cm.ul==null){cm.ul=window.location.href;}
cmSafeZero(cm,["qt","bp","tr","sg"]);if(this.manual_cm_mmc!=null){cm.ul=cm.ul+((cm.ul.indexOf("&")==-1)?((cm.ul.indexOf("?")==-1)?"?":"&"):"&")+"cm_mmc="+this.manual_cm_mmc;}
cm.ul=cm.ul.replace(/cm_mmc/gi,"cm_mmc");cm.ul=cm.ul.replace(/cm_ven/gi,"cm_ven");cm.ul=cm.ul.replace(/cm_cat/gi,"cm_cat");cm.ul=cm.ul.replace(/cm_pla/gi,"cm_pla");cm.ul=cm.ul.replace(/cm_ite/gi,"cm_ite");if(cmCheckCMEMFlag){cmStartTagSet();}
cm.writeImg();if(cmCheckCMEMFlag){cmCheckCMEMFlag=false;cmCheckCMEM();cmSendTagSet();}
if(typeof cm_ted_io=='function'){cm_ted_io(cm);}}
function cmGetDefaultPageID(){var pageName=window.location.pathname;var tempIndex1=pageName.indexOf("?");if(tempIndex1!=-1){pageName=pageName.substr(0,tempIndex1);}
var tempIndex2=pageName.indexOf("#");if(tempIndex2!=-1){pageName=pageName.substr(0,tempIndex2);}
var tempIndex3=pageName.indexOf(";");if(tempIndex3!=-1){pageName=pageName.substr(0,tempIndex3);}
var slashPos=pageName.lastIndexOf("/");if(slashPos==pageName.length-1){pageName=pageName+"default.asp";}
while(pageName.indexOf("/")==0){pageName=pageName.substr(1,pageName.length);}
return(pageName);}
function cmIndexOfParameter(parameter,inString){return inString.indexOf(parameter);}
function cmExtractParameter(parameter,inString){if(cmIndexOfParameter(parameter,inString)==-1){return null;}
var s=inString;var begin=s.indexOf(parameter);var end=s.indexOf("&",begin);if(end==-1){end=s.length;}
var middle=s.indexOf("=",begin);return s.substring(middle+1,end);}
function cmRemoveParameter(parameter,inString){if(cmIndexOfParameter(parameter,inString)==-1){return inString;}
var s=inString;var begin=s.indexOf(parameter);var start=(begin-1);var end=s.indexOf("&",begin);if(end==-1){end=s.length;}
if(s.substring(start,begin)=="?"){start=(start+1);end=(end+1);}
return s.substring(0,start)+s.substring(end,s.length);}
function cmCheckCMEM(){if(cmIndexOfParameter("cm_em",document.location.href)!=-1){var emailAddress=cmExtractParameter("cm_em",document.location.href);if(emailAddress.indexOf(":")>-1){emailAddress=emailAddress.substring(emailAddress.indexOf(":")+1);}
cmCreateRegistrationTag(emailAddress,emailAddress);}
if(cmIndexOfParameter("cm_lm",document.location.href)!=-1){var emailAddress=cmExtractParameter("cm_lm",document.location.href);if(emailAddress.indexOf(":")>-1){emailAddress=emailAddress.substring(emailAddress.indexOf(":")+1);}
cmCreateRegistrationTag(emailAddress,emailAddress);}}
function cmSafeZero(cm,checkArray){for(var i=0;i<checkArray.length;++i){if((cm[checkArray[i]]!=null)&&(cm[checkArray[i]]==0)){cm[checkArray[i]]="0";}}}
if(defaultNormalize==null){var defaultNormalize=null;}
function myNormalizeURL(url,isHref){var newURL=url;if(defaultNormalize!=null){newURL=defaultNormalize(newURL,isHref);}
return newURL;}
if(document.cmTagCtl!=null){var func=""+document.cmTagCtl.normalizeURL;if(func.indexOf('myNormalizeURL')==-1){defaultNormalize=document.cmTagCtl.normalizeURL;document.cmTagCtl.normalizeURL=myNormalizeURL;}}
function cm_hex_sha1(s){return cm_rstr2hex(cm_rstr_sha1(cm_str2rstr_utf8(s)));}
function cm_rstr_sha1(s)
{return cm_binb2rstr(cm_binb_sha1(cm_rstr2binb(s),s.length*8));}
function cm_rstr2hex(input)
{var hex_tab=0?"0123456789ABCDEF":"0123456789abcdef";var output="";var x;for(var i=0;i<input.length;i++)
{x=input.charCodeAt(i);output+=hex_tab.charAt((x>>>4)&0x0F)
+hex_tab.charAt(x&0x0F);}
return output;}
function cm_str2rstr_utf8(input)
{var output="";var i=-1;var x,y;while(++i<input.length)
{x=input.charCodeAt(i);y=i+1<input.length?input.charCodeAt(i+1):0;if(0xD800<=x&&x<=0xDBFF&&0xDC00<=y&&y<=0xDFFF)
{x=0x10000+((x&0x03FF)<<10)+(y&0x03FF);i++;}
if(x<=0x7F)
output+=String.fromCharCode(x);else if(x<=0x7FF)
output+=String.fromCharCode(0xC0|((x>>>6)&0x1F),0x80|(x&0x3F));else if(x<=0xFFFF)
output+=String.fromCharCode(0xE0|((x>>>12)&0x0F),0x80|((x>>>6)&0x3F),0x80|(x&0x3F));else if(x<=0x1FFFFF)
output+=String.fromCharCode(0xF0|((x>>>18)&0x07),0x80|((x>>>12)&0x3F),0x80|((x>>>6)&0x3F),0x80|(x&0x3F));}
return output;}
function cm_rstr2binb(input)
{var output=Array(input.length>>2);for(var i=0;i<output.length;i++)
output[i]=0;for(var i=0;i<input.length*8;i+=8)
output[i>>5]|=(input.charCodeAt(i/8)&0xFF)<<(24-i%32);return output;}
function cm_binb2rstr(input)
{var output="";for(var i=0;i<input.length*32;i+=8)
output+=String.fromCharCode((input[i>>5]>>>(24-i%32))&0xFF);return output;}
function cm_binb_sha1(x,len)
{x[len>>5]|=0x80<<(24-len%32);x[((len+64>>9)<<4)+15]=len;var w=Array(80);var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;var e=-1009589776;for(var i=0;i<x.length;i+=16)
{var olda=a;var oldb=b;var oldc=c;var oldd=d;var olde=e;for(var j=0;j<80;j++)
{if(j<16)w[j]=x[i+j];else w[j]=cm_bit_rol(w[j-3]^w[j-8]^w[j-14]^w[j-16],1);var t=cm_safe_add(cm_safe_add(cm_bit_rol(a,5),cm_sha1_ft(j,b,c,d)),cm_safe_add(cm_safe_add(e,w[j]),cm_sha1_kt(j)));e=d;d=c;c=cm_bit_rol(b,30);b=a;a=t;}
a=cm_safe_add(a,olda);b=cm_safe_add(b,oldb);c=cm_safe_add(c,oldc);d=cm_safe_add(d,oldd);e=cm_safe_add(e,olde);}
return Array(a,b,c,d,e);}
function cm_sha1_ft(t,b,c,d)
{if(t<20)return(b&c)|((~b)&d);if(t<40)return b^c^d;if(t<60)return(b&c)|(b&d)|(c&d);return b^c^d;}
function cm_sha1_kt(t)
{return(t<20)?1518500249:(t<40)?1859775393:(t<60)?-1894007588:-899497514;}
function cm_safe_add(x,y)
{var lsw=(x&0xFFFF)+(y&0xFFFF);var msw=(x>>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF);}
function cm_bit_rol(num,cnt)
{return(num<<cnt)|(num>>>(32-cnt));}
