/*** global.js ***/
var trackinglink = "?WT.mc_id=bookmark";
var c = '';

document.write("<script language='javascript' type='text/javascript' src='http:\/\/www.webvoo.com/wt/Track.aspx'></script>");

function setBookmark(url,str) 
{
    if(str=='') 
        { str=url; }
    url = url + trackinglink;
    if (document.all) 
        { window.external.AddFavorite(url,str); }
    else 
    {
        if (window.sidebar)
        { window.sidebar.addPanel(str, url, ""); }
        else
        { alert('Press CTRL and D to add a bookmark to:\n"'+url+'".'); }
    }
} 
function popup(name,url,w,h)
{
    mywindow = window.open (url,name,"location=0,status=0,scrollbars=1,width="+w+",height="+h);
}
function showFaq()
{
    popup('eforcity_com_FAQ','https://www.hostedsupport.com/support/index.cfm?C=11383',800,600);
    //self.location.href='https://www.hostedsupport.com/support/index.cfm?C=11383';
}
function addOnLoadEvent(func)
{
    if (window.addEventListener) {
        window.addEventListener("load", func, false); }
    else if (window.attachEvent) {
        window.attachEvent("onload", func); }
    else if (document.getElementById) {
        window.onload=func; }
}
function addOnChangeEvent(obj,func)
{
    if (obj.addEventListener) {
        obj.addEventListener("change", func, false); }
    else if (obj.attachEvent) {
        obj.attachEvent("onchange", func); }
    else if (document.getElementById) {
        obj.onchange=func; }
}
function printpage() {
    window.print();  
}

function ifmeOnload()
{
	var wrapper = document.getElementById('frameWrapper');
	if(wrapper!=undefined)
	{
		wrapper.id = 'frameWrapperDone';
	}
	var frame = document.getElementById('DocIFrame');
	if(frame!=undefined)
	{
		frame.style.visibility = 'visible';
	}
}
/*** cookie.js ***/
function getCookie(c_name)
{
    if (document.cookie.length>0)
    {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1)
        { 
            c_start=c_start + c_name.length+1;
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) { c_end=document.cookie.length; }
            alert(c_start);
            alert(c_end);
            return unescape(document.cookie.substring(c_start,c_end));
        } 
    }
    return "";
}
function setCookie(c_name,value,expiredays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+
        ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
/*** subscribe.js ***/
var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i

function checkmail(e){
    var returnval=emailfilter.test(e.value)
    if (returnval==false){
        e.select()
    }
    return returnval
}
function verifySingup(f,emailid) {
  var msg;
  var empty_fields = "";
  var errors = "";
  var error_msg = "";

  var re = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/);
  
  var email = document.getElementById(emailid);
  
  if(email!=undefined)
  {
      if ((email.value == null) || (email.value == "") || isblank(email.value)) {
        error_msg = "* Your email field is empty.";
        empty_fields += "\n      " + error_msg;
      }
      else if (!email.value.match(re)) {
      //else if (f.email.value.indexOf("@")==-1) {
        error_msg = "* Your email address is invalid";
        empty_fields += "\n      " + error_msg;
      }
  }
  
  if (!empty_fields && !errors) {
    f.method = "POST";
    f.action = "http://jeapromo.com/EmailUnsubscribe/subscribe.aspx?branchId=1";
    return true;
  }
  msg  = "  Your request cannot continue. \n";
  msg += "  Please correct the following error(s) and re-submit:\n";
  msg += "_______________________________________________\n";

  if (empty_fields) {
    msg += empty_fields + "\n";
  }
  alert(msg);
  return false;
}
function isblank(s) {
  for(var i = 0; i < s.length; i++) {
    var c = s.charAt(i);
    if ((c != ' ')&&(c != '\n')&&(c != '\t')) {
      return false;
    }
  }
  return true;
}
function signUp() {
//  var f = document.getElementById('fSignUp');
    var f = document.forms['fSignUp'];
  
      if(verifySingup(f,'element-formsubscribe-email')) {
        f.submit();
      }
}
/*** simpletreemenu0v2.js ***/
var persisteduls=new Object();
var ddtreemenu=new Object();

ddtreemenu.closefolder="http://site.eforcity.com/template/Rvmp2/images/common/dotline_plus.jpg"; //set image path to "closed" folder image
ddtreemenu.openfolder="http://site.eforcity.com/template/Rvmp2/images/common/dotline_subtract.jpg"; //set image path to "open" folder image

//ddtreemenu.openhref="Cell Phone Accessories";
//ddtreemenu.openhref="Computer Accessories";
//ddtreemenu.openhref="Camera Accessories";
//ddtreemenu.openhref="DVDs";

//ddtreemenu.openhref="Games";
//ddtreemenu.openhref="MP3 Accessories";
//ddtreemenu.openhref="PDA Accessories";
//ddtreemenu.openhref="Printer Inks";

//ddtreemenu.openhref="Cell Phone Plans";
//ddtreemenu.openhref="Holiday";
//ddtreemenu.openhref="Sports";
//ddtreemenu.openhref="Others";

//////////No need to edit beyond here///////////////////////////

ddtreemenu.createTree=function(treeid, enablepersist, persistdays)
{
    var ultags=document.getElementById(treeid).getElementsByTagName("ul");//get all url gar in parent div

    if (typeof persisteduls[treeid]=="undefined") //get cookie arry of treeid containted.
        persisteduls[treeid]=(enablepersist==true && ddtreemenu.getCookie(treeid)!="")? ddtreemenu.getCookie(treeid).split(",") : "";

    for (var i=0; i<ultags.length; i++)
    {//build subtree in div tree.
        ddtreemenu.buildSubTree(treeid, ultags[i], i);
        if(ddtreemenu.openhref && ddtreemenu.openhref.length>0)
        {
			try
			{
			   if(ultags[i].parentNode.childNodes[0].innerHTML.toLowerCase().match(ddtreemenu.openhref.toLowerCase()))
					call:ultags[i].parentNode.onclick(null);   
			}
			catch (err)
			{
			}
        } 
    }

    if (enablepersist==true)
    { //if enable persist feature
        var durationdays=(typeof persistdays=="undefined")? 1 : parseInt(persistdays);
        ddtreemenu.dotask(window, function(){ddtreemenu.rememberstate(treeid, durationdays)}, "unload"); //save opened UL indexes on body unload
    }    
   
}



ddtreemenu.buildSubTree=function(treeid, ulelement, index)
{
    ulelement.parentNode.className="submenu";//set super parent node className="submenu";
    if (typeof persisteduls[treeid]=="object")
    { //if cookie exists (persisteduls[treeid] is an array versus "" string)
        if (ddtreemenu.searcharray(persisteduls[treeid], index))
        {
        ulelement.setAttribute("rel", "open");
        ulelement.style.display="block";
        ulelement.parentNode.style.backgroundImage="url("+ddtreemenu.openfolder+")";
        }
        else
        ulelement.setAttribute("rel", "closed");
    } //end cookie persist code

    else if (ulelement.getAttribute("rel")==null || ulelement.getAttribute("rel")==false) //if no cookie and UL has NO rel attribute explicted added by user
        ulelement.setAttribute("rel", "closed");
    else if (ulelement.getAttribute("rel")=="open") //else if no cookie and this UL has an explicit rel value of "open"
        ddtreemenu.expandSubTree(treeid, ulelement); //expand this UL plus all parent ULs (so the most inner UL is revealed!)    
        
    ulelement.parentNode.onclick=function(e)
    {        
        var submenu=this.getElementsByTagName("ul")[0];
        if (submenu.getAttribute("rel")=="closed")
        {
            //alert(submenu.innerHTML);
            submenu.style.display="block";
            submenu.setAttribute("rel", "open");
            ulelement.parentNode.style.backgroundImage="url("+ddtreemenu.openfolder+")";
        }
        else if (submenu.getAttribute("rel")=="open")
        {
            //alert(submenu.innerHTML);
            submenu.style.display="none";
            submenu.setAttribute("rel", "closed");
            ulelement.parentNode.style.backgroundImage="url("+ddtreemenu.closefolder+")";
        }
        else 
        {
            alert("Error!!");
        }
        ddtreemenu.preventpropagate(e);
    }
    
    ulelement.onclick=function(e)
    {
        ddtreemenu.preventpropagate(e);
    }    
}



ddtreemenu.expandSubTree=function(treeid, ulelement){ //expand a UL element and any of its parent ULs
var rootnode=document.getElementById(treeid);
var currentnode=ulelement;
currentnode.style.display="block";
currentnode.parentNode.style.backgroundImage="url("+ddtreemenu.openfolder+")";
while (currentnode!=rootnode){
if (currentnode.tagName=="UL"){ //if parent node is a UL, expand it too
currentnode.style.display="block";
currentnode.setAttribute("rel", "open"); //indicate it's open
currentnode.parentNode.style.backgroundImage="url("+ddtreemenu.openfolder+")";
}
currentnode=currentnode.parentNode;
}
}



ddtreemenu.flatten=function(treeid, action){ //expand or contract all UL elements
var ultags=document.getElementById(treeid).getElementsByTagName("ul");
for (var i=0; i<ultags.length; i++){
ultags[i].style.display=(action=="expand")? "block" : "none";
var relvalue=(action=="expand")? "open" : "closed";
ultags[i].setAttribute("rel", relvalue);
ultags[i].parentNode.style.backgroundImage=(action=="expand")? "url("+ddtreemenu.openfolder+")" : "url("+ddtreemenu.closefolder+")";
}
}



ddtreemenu.rememberstate=function(treeid, durationdays){ //store index of opened ULs relative to other ULs in Tree into cookie
var ultags=document.getElementById(treeid).getElementsByTagName("ul");
var openuls=new Array();
for (var i=0; i<ultags.length; i++){
if (ultags[i].getAttribute("rel")=="open");
openuls[openuls.length]=i; //save the index of the opened UL (relative to the entire list of ULs) as an array element
}
if (openuls.length==0) //if there are no opened ULs to save/persist
openuls[0]="none open"; //set array value to string to simply indicate all ULs should persist with state being closed
ddtreemenu.setCookie(treeid, openuls.join(","), durationdays); //populate cookie with value treeid=1,2,3 etc (where 1,2... are the indexes of the opened ULs)
}





////A few utility functions below//////////////////////

ddtreemenu.getCookie=function(Name){ //get cookie value
var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
if (document.cookie.match(re)) //if cookie found
return document.cookie.match(re)[0].split("=")[1]; //return its value
return "";
}




ddtreemenu.setCookie=function(name, value, days){ //set cookei value
var expireDate = new Date()
//set "expstring" to either future or past date, to set or delete cookie, respectively
var expstring=expireDate.setDate(expireDate.getDate()+parseInt(days))
document.cookie = name+"="+value+"; expires="+expireDate.toGMTString()+"; path=/";
}



ddtreemenu.searcharray=function(thearray, value){ //searches an array for the entered value. If found, delete value from array
var isfound=false;
for (var i=0; i<thearray.length; i++){
if (thearray[i]==value){
isfound=true;
thearray.shift(); //delete this element from array for efficiency sake
break;
}
}
return isfound;
}




ddtreemenu.preventpropagate=function(e)
{ //prevent action from bubbling upwards      
    if(e===null) return;
    if(typeof e!="undefined")        
        e.stopPropagation();
    else        
        event.cancelBubble=true;
}



ddtreemenu.dotask=function(target, functionref, tasktype){ //assign a function to execute to an event handler (ie: onunload)
var tasktype=(window.addEventListener)? tasktype : "on"+tasktype;
alert(tasktype);
if (target.addEventListener)
target.addEventListener(tasktype, functionref, false);
else if (target.attachEvent)
target.attachEvent(tasktype, functionref);
}
/*** mleffect.js ***/
//window.onload = mladdevents;
			function mladdevents(){
				if(window.mlrunShim == true){
					var Iframe = document.createElement("iframe");
					Iframe.setAttribute("src","about:blank");
					Iframe.setAttribute("scrolling","no");
					Iframe.setAttribute("frameBorder","0");
					Iframe.style.zIndex = "2";
					Iframe.style.filter = 'alpha(opacity=0)';
				}
				var effects_a = new Array();
				var divs = document.getElementsByTagName('div');
				for(var j=0;j<divs.length;j++){
					if(divs[j].className.indexOf('mlmenu') != -1){
						var lis = divs[j].getElementsByTagName('li');
						for(var i =0;i<lis.length;i++){
							lis[i].onmouseover = mlover;
							lis[i].onmouseout = mloutSetTimeout;
							if(window.mlrunShim == true){
								lis[i].appendChild(Iframe.cloneNode(false));
							}
							if(lis[i].getElementsByTagName('ul').length > 0){
								lis[i].className += 'haschild';
								if(divs[j].className.indexOf('arrow') != -1){
									if(divs[j].className.indexOf('vertical') != -1 || lis[i].parentNode.parentNode.nodeName != 'DIV'){
										lis[i].getElementsByTagName('a')[0].innerHTML += '<span class="vert">&rarr;</span>';
									}
									else{
										lis[i].getElementsByTagName('a')[0].innerHTML += '<span class="horiz">&darr;</span>';
									}
								}
								else if(divs[j].className.indexOf('plus') != -1){
									lis[i].getElementsByTagName('a')[0].innerHTML += '<span class="plus">+</span>';
								}
							}
							else{
								if(divs[j].className.indexOf('arrow') != -1){
									//This accounts for a wierd IE-specific bug in horizontal menus. CSS will set visibility: hidden;. This keeps the menu level(in IE)
									lis[i].getElementsByTagName('a')[0].innerHTML += '<span class="noshow">&darr;</span>';
								}
							}
							var uls = lis[i].getElementsByTagName('ul');
							for(var k=0;k<uls.length;k++){
								var found = 'no';
								for(var z=0;z<effects_a.length;z++){
									if(effects_a[z] == uls[k]){
										found = 'yes';
									}
								}
								if(found == 'no'){
									effects_a[effects_a.length] = uls[k];
									uls[k].style.zIndex = '100';
									mlEffectLoad(uls[k]);
								}
							}
						}
					}
				}
			}
			function mloutSetTimeout(e){
				if(!e){
					var the_e = window.event;
				}
				else{
					var the_e = e;
				}
				var reltg = (the_e.relatedTarget) ? the_e.relatedTarget : the_e.toElement;
				if(reltg){
					var under = ancestor(reltg,this);
					if(under === false && reltg != this){
						window.mlLast = this;
						var parent = this.parentNode;
						while(parent.parentNode && parent.className.indexOf('mlmenu') == -1){
							parent = parent.parentNode;
						}
						if(parent.className.indexOf('delay') != -1){
							window.mlTimeout = setTimeout(function(){mlout()},500);
						}
						else{
							mlout();
						}
					}
				}
			}
			function mlout(){
			if(window.mlLast==null)return false;
				var uls = window.mlLast.getElementsByTagName('ul');
				var sib;
				for(var i=0;i<uls.length;i++){
					mlEffectOut(uls[i]);
					if(window.mlrunShim == true){
						sib = uls[i];							
						while(sib.nextSibling && sib.nodeName != 'IFRAME'){
								sib = sib.nextSibling
						}
						sib.style.display = 'none';
					}
				}
				window.lastover = null;
			}
			function mlover(e){
				if(!e){
					var the_e = window.event;
				}
				else{
					var the_e = e;
				}
				the_e.cancelBubble = true;
				if(the_e.stopPropagation){
					the_e.stopPropagation();
				}
				clearTimeout(window.mlTimeout);
				if(window.mlLast && window.mlLast != this && ancestor(this,window.mlLast) == false){
					mlout();
				}
				else{
					window.mlLast = null;
				}
				var reltg = (the_e.relatedTarget) ? the_e.relatedTarget : the_e.fromElement;
				var ob = this.getElementsByTagName('ul');
				var under = ancestor(reltg,this);
				if(ob[0] && under == false){
					if(window.lastover != ob[0]){
						if(window.mlrunShim == true){
							var sib = ob[0];
							while(sib.nextSibling && sib.nodeName != 'IFRAME'){
								sib = sib.nextSibling
							}
							ob[0].style.display = 'block';
							sib.style.top = ob[0].offsetTop+'px';
							sib.style.left = ob[0].offsetLeft-2+'px';
							sib.style.width = ob[0].offsetWidth+'px';
							sib.style.height = ob[0].offsetHeight-2+'px';
							sib.style.border = '1px solid red';
							sib.style.display = 'block';
						}
						mlEffectOver(ob[0],this);
						window.lastover = ob[0];
					}
				}
			}
			function mlSetOpacity(ob,level){
				if(ob){
					//level is between 0 and 10
					//need to convert to decimal for standard
					var standard = level/10;
					//need to convert to 0-100 scale for IE filter
					var ie = level*10;
					ob.style.opacity = standard;
					ob.style.filter = "alpha(opacity="+ie+")"
				}
			}
			function mlIncreaseOpacity(ob){
					var current = ob.style.opacity;
					if(lastob == ob && lastop == current){
						//mlout has not interfered
						current = current *10;
						var upone = current +1;
						mlSetOpacity(ob,upone);
						lastob = ob;
						lastop = upone/10;
					}
			}
			function mlIncreaseHeight(ob){
				var current = parseInt(ob.style.height);
				var newh = current + 1;
				ob.style.height = newh+'px';
			}
			function mlIncreaseWidth(ob){
				var current = parseInt(ob.style.width);
				var newh = current + 1;
				ob.style.width = newh+'px';
			}
			function mlBlink(ob){
				var newb = '1px solid red';
				var old = '';
				if(ob.style.border==old){
					ob.style.border=newb;
				}
				else{
					ob.style.border=old;
					ob.style.borderTop = '1px solid';
				}
			}
			function mlShake(ob){
				var newp = '5px';
				var old = '';
				if(ob.style.paddingLeft==old){
					ob.style.paddingLeft=newp;
				}
				else{
					ob.style.paddingLeft=old;
				}
			}
			function mlEffectOver(ob,parent){
				switch(ob.className){
					case 'fade':
						ob.style.display = 'block';
						if(ob.style.opacity == 0){
							lastob = ob
							lastop = 0;
							for(var i = 1;i<=10;i++){
								setTimeout(function(){mlIncreaseOpacity(ob)},i*50);
							}
							setTimeout(function(){ob.style.filter = ''},500);
						}
						break;
					case 'blink':
						ob.style.display = 'block';
						for(var i=0;i<10;i++){
							setTimeout(function(){mlBlink(ob)},i*50);
						}
						break;
					case 'shake':
						ob.style.display = 'block';
						for(var i=0;i<10;i++){
							setTimeout(function(){mlShake(ob)},i*50);
						}
						break;
					case 'blindv':
						ob.style.display = 'block';
						if(ob.offsetHeight){
							var height = ob.offsetHeight
							ob.style.height = '0px';
							ob.style.overflow = 'hidden';
							for(var i=0;i<height;i++){
								setTimeout(function(){mlIncreaseHeight(ob)},i*3);
							}
							setTimeout(function(){ob.style.overflow='visible';},height*3)
						}
						break;
					case 'blindh':
						ob.style.display = 'block';
						if(ob.offsetWidth){
							var width = ob.offsetWidth;
							ob.style.width = '0px';
							ob.style.overflow = 'hidden';
							for(var i=0;i<width;i++){
								setTimeout(function(){mlIncreaseWidth(ob)},i*3);
							}
							setTimeout(function(){ob.style.overflow='visible';},width*3)
						}
						break;
					default:
						ob.style.display = 'block';
						break;
				}
			}
			function mlEffectOut(ob){
				switch(ob.className){
					case 'fade':
						mlSetOpacity(ob,0);
						ob.style.display = 'none';
						break;
					case 'blink':
						ob.style.border = '';
						ob.style.display = 'none';
						break;
					case 'shake':
						ob.style.paddingLeft = '';
						ob.style.display = 'none';
						break;
					default:
						ob.style.display = 'none';
						break;
				}
			}
			function mlEffectLoad(ob){
				var parent = ob.parentNode;
				while(parent.parentNode && parent.className.indexOf('mlmenu') == -1){
					parent = parent.parentNode;
				}
				if(parent.className.indexOf('fade') != -1){
						ob.style.display = 'none';
						ob.className = 'fade';
						mlSetOpacity(ob,0);
				}
				else if(parent.className.indexOf('blink') != -1){
					ob.className = 'blink';
					ob.style.display = 'none';
				}
				else if(parent.className.indexOf('shake') != -1){
					ob.className = 'shake';
					ob.style.display = 'none';
				}
				else if(parent.className.indexOf('blindv') != -1){
					ob.className = 'blindv';
					ob.style.display = 'none';
				}
				else if(parent.className.indexOf('blindh') != -1){
					ob.className = 'blindh';
					ob.style.display = 'none';
				}
				else{
					ob.className = 'none';
					ob.style.display = 'none';
				}
			}
			function ancestor(child, parent){
				if(child==null)return false;//Saves checking elsewhere
				//This is a fix for a Firefox bug *gasp*
				//Aparantly causes a bug in Opera!
				//I see no choice but a browser detect. *sigh* I didn't want to have to do this.
				if(navigator.userAgent.indexOf('Gecko') != -1 && navigator.userAgent.indexOf('Opera') == -1){
					//This should only be run by Gecko based browsers. this code should be fine in everything but Opera so forge away browsers.
					var allc = parent.getElementsByTagName('*');
					for(var i= 0;i<allc.length;i++){
						if(allc[i] == child){
							return true;
						}
					}
				}
				else{
					//http://www.dynamicdrive.com/forums/showthread.php?t=12341 Thanks Twey!
					for(; child.parentNode; child = child.parentNode){
						if(child.parentNode === parent) return true;
					}
				}
				return false;
			}
/*** google-adservices.js ***/
var google_conversion_type = 'landing';
var google_conversion_id = 1069159305;
var google_conversion_language = "en_US";
var google_conversion_format = "1";
var google_conversion_color = "FFFFFF";
/*** thumbnailviewer2.js ***/
// -------------------------------------------------------------------
// Image Thumbnail Viewer II- By Dynamic Drive, available at: http://www.dynamicdrive.com
// Last updated: Feb 5th, 2007
// -------------------------------------------------------------------

var thumbnailviewer2={
enableTitle: true, //Should "title" attribute of link be used as description?
enableTransition: true, //Enable fading transition in IE?
hideimgmouseout: false, //Hide enlarged image when mouse moves out of anchor link? (if enlarged image is hyperlinked, always set to false!)

/////////////No need to edit beyond here/////////////////////////

iefilterstring: 'progid:DXImageTransform.Microsoft.GradientWipe(GradientSize=1.0 Duration=0.7)', //IE specific multimedia filter string
iefiltercapable: document.compatMode && window.createPopup? true : false, //Detect browser support for IE filters
preloadedimages:[], //array to preload enlarged images (ones set to display "onmouseover"
targetlinks:[], //array to hold participating links (those with rel="enlargeimage:initType")
alreadyrunflag: false, //flag to indicate whether init() function has been run already come window.onload

loadimage:function(linkobj){
var imagepath=linkobj.getAttribute("href") //Get URL to enlarged image
var showcontainer=document.getElementById(linkobj.getAttribute("rev").split("::")[0]) //Reference container on page to show enlarged image in
var dest=linkobj.getAttribute("rev").split("::")[1] //Get URL enlarged image should be linked to, if any
var description=(thumbnailviewer2.enableTitle && linkobj.getAttribute("title"))? linkobj.getAttribute("title") : "" //Get title attr
var imageHTML='<img src="'+imagepath+'" style="border-width: 0" />' //Construct HTML for enlarged image
if (typeof dest!="undefined") //Hyperlink the enlarged image?
imageHTML='<a href="'+dest+'">'+imageHTML+'</a>'
if (description!="") //Use title attr of the link as description?
imageHTML+='<br />'+description
if (this.iefiltercapable){ //Is this an IE browser that supports filters?
showcontainer.style.filter=this.iefilterstring
showcontainer.filters[0].Apply()
}
showcontainer.innerHTML=imageHTML
this.featureImage=showcontainer.getElementsByTagName("img")[0] //Reference enlarged image itself
this.featureImage.onload=function(){ //When enlarged image has completely loaded
if (thumbnailviewer2.iefiltercapable) //Is this an IE browser that supports filters?
showcontainer.filters[0].Play()
}
this.featureImage.onerror=function(){ //If an error has occurred while loading the image to show
if (thumbnailviewer2.iefiltercapable) //Is this an IE browser that supports filters?
showcontainer.filters[0].Stop()
}
},

hideimage:function(linkobj){
var showcontainer=document.getElementById(linkobj.getAttribute("rev").split("::")[0]) //Reference container on page to show enlarged image in
showcontainer.innerHTML=""
},


cleanup:function(){ //Clean up routine on page unload
if (this.featureImage){this.featureImage.onload=null; this.featureImage.onerror=null; this.featureImage=null}
this.showcontainer=null
for (var i=0; i<this.targetlinks.length; i++){
this.targetlinks[i].onclick=null
this.targetlinks[i].onmouseover=null
this.targetlinks[i].onmouseout=null
}
},

addEvent:function(target, functionref, tasktype){ //assign a function to execute to an event handler (ie: onunload)
var tasktype=(window.addEventListener)? tasktype : "on"+tasktype
if (target.addEventListener)
target.addEventListener(tasktype, functionref, false)
else if (target.attachEvent)
target.attachEvent(tasktype, functionref)
},

init:function(){ //Initialize thumbnail viewer script
this.iefiltercapable=(this.iefiltercapable && this.enableTransition) //True or false: IE filters supported and is enabled by user
var pagelinks=document.getElementsByTagName("a")
for (var i=0; i<pagelinks.length; i++){ //BEGIN FOR LOOP
if (pagelinks[i].getAttribute("rel") && /enlargeimage:/i.test(pagelinks[i].getAttribute("rel"))){ //Begin if statement: Test for rel="enlargeimage"
var initType=pagelinks[i].getAttribute("rel").split("::")[1] //Get display type of enlarged image ("click" or "mouseover")
if (initType=="mouseover"){ //If type is "mouseover", preload the enlarged image for quicker display
this.preloadedimages[this.preloadedimages.length]=new Image()
this.preloadedimages[this.preloadedimages.length-1].src=pagelinks[i].href
pagelinks[i]["onclick"]=function(){ //Cancel default click action
return false
}
}
pagelinks[i]["on"+initType]=function(){ //Load enlarged image based on the specified display type (event)
thumbnailviewer2.loadimage(this) //Load image
return false
}
if (this.hideimgmouseout)
pagelinks[i]["onmouseout"]=function(){
thumbnailviewer2.hideimage(this)
}
this.targetlinks[this.targetlinks.length]=pagelinks[i] //store reference to target link
} //end if statement
} //END FOR LOOP


} //END init() function

}


if (document.addEventListener) //Take advantage of "DOMContentLoaded" event in select Mozilla/ Opera browsers for faster init
thumbnailviewer2.addEvent(document, function(){thumbnailviewer2.alreadyrunflag=1; thumbnailviewer2.init()}, "DOMContentLoaded") //Initialize script on page load
else if (document.all && document.getElementsByTagName("a").length>0){ //Take advantage of "defer" attr inside SCRIPT tag in IE for instant init
thumbnailviewer2.alreadyrunflag=1
thumbnailviewer2.init()
}
thumbnailviewer2.addEvent(window, function(){if (!thumbnailviewer2.alreadyrunflag) thumbnailviewer2.init()}, "load") //Default init method: window.onload
thumbnailviewer2.addEvent(window, function(){thumbnailviewer2.cleanup()}, "unload")

// counter
function sendRequest(url,callback,postData) {
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	req.onreadystatechange = function () {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
			alert('HTTP error ' + req.status);
			return;
		}
		callback(req);
	}
	if (req.readyState == 4) return;
	req.send(postData);
}

var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}
function handleRequest(req) {
    var obj = document.getElementById('FlowCounter');
    if(obj!=undefined)
    {
//        obj.innerHTML = '<iframe id="frmCounter" name="frmCounter" src="http://www.checkoutexpert.com/webpromo/countdownJpg.aspx?w=50&h=20&sku='+sku+'" width="100px" height="40px" frameborder="0" scrolling="No">';
		obj.innerHTML = '<img id="imgCounter" border=0 src="http://www.checkoutexpert.com/webpromo/countdownJpg.aspx?w=50&h=20&sku='+sku+'&g='+now.getMilliseconds()+'" />';
    }
}
function DrawCounter(sku)
{
    //sendRequest('http://www.checkoutexpert.com/webpromo/countdownVal.aspx?sku='+sku, handleRequest);
    var obj = document.getElementById('FlowCounter');
    if(obj!=undefined)
    {
		var now = new Date();
//        obj.innerHTML = '<iframe id="frmCounter" name="frmCounter" src="http://www.checkoutexpert.com/webpromo/countdownJpg.aspx?w=50&h=20&sku='+sku+'" width="100px" height="40px" frameborder="0" scrolling="No">';
		obj.innerHTML = '<img id="imgCounter" border=0 src="http://www.checkoutexpert.com/webpromo/countdownJpg.aspx?w=50&h=20&sku='+sku+'&g='+now.getMilliseconds()+'" />';
    }
    setTimeout("DrawCounter('"+sku+"');", 60000);
}
