

CMS = new Object();
CMS.use_local = (typeof(JSON) == 'object' && typeof(localStorage) == 'object')? 1: 0;
CMS.CSS = [];
CMS.pLD = [];
CMS.rowMapKey = null;
CMS.includes = [];
CMS.includes['js'] = [];
CMS.includes['css'] = [];
CMS.INLINE_SCRIPTS = '';

STACKS = [];
PLI=[];

function distro_error(val){
	if(IS_DISTRO){
		alert("distro says:"+val);
	}
}

function mapsChange(iID,rIND,LsID){
	var lat = document.getElementById('lat'+LsID).value;
	var lng = document.getElementById('lng'+LsID).value;
	var center = lat+","+lng;

	var obj = {};
	obj.options = [];
	obj.options[0] = {};
	obj.options[0].value = center;
	obj.selectedIndex = 0;
	
	mapChange(2,1,rIND,obj);
	mapChange(3,2,rIND,obj);
}

function mapChange(mode,iID,rIND,obj){
	var modes = ['zoom','heading','center','location'];
	var map = document.getElementById('map-'+rIND+'-'+iID);
	var split = map.src.split("&");
	var newSrc = split[0];
	var val = obj.options[obj.selectedIndex].value;
	var key = modes[mode];
	for(var x in split){
		if(x == 0){continue;}
		var parts = split[x].split('=');
		if(parts[0] == key){
			newSrc += '&'+parts[0] + '=' + val;
		}else{
			newSrc += '&'+split[x];
		}
	}
	map.src = newSrc;
}

function mapsSave(iID,rIND,LsID){
	var rec_id = document.getElementById('record_id').value;
	var lat = document.getElementById('lat'+LsID).value;
	var lng = document.getElementById('lng'+LsID).value;

	top.document.getElementById('child-address-0-'+rec_id+'-lat').value = lat;
	top.document.getElementById('child-address-0-'+rec_id+'-long').value = lng;
	top.document.getElementById('child-address-0-'+rec_id+'-heading').value = document.getElementById('compassHeading').value;

	if((lat+0) != 0 && (lng+0) != 0){
		top.document.getElementById('child-address-0-'+rec_id+'-map_mode').selectedIndex = 1;
	}

	top.closeWindow(" ");
}

function setMapMarker(x,y){
	if(sMarkers[x][y].getAnimation() != null){
		sMarkers[x][y].setAnimation(null);
	}else{
		var id = 'map_canvas-'+x;
		var map = document.getElementById(id); // AR2-42075
		var offSet = getOffset(map,'top');
		var m = mapMarkers[x][y];
		top.scrollTo(0,offSet);
		gMap[x].setCenter(new google.maps.LatLng(m[0],m[1]));
		if(parseInt(m[4])){gMap[x].setZoom(m[4]);}
		sInfos[x][y].open(gMap[x],sMarkers[x][y]);
		sMarkers[x][y].setAnimation(google.maps.Animation.BOUNCE);
		setTimeout("sMarkers["+x+"]["+y+"].setAnimation(null);",5000);
	}
}

function social_link(a,b,c){

	// alert("a("+a+") b("+b+") c("+c+")");

	window.open(STACKS["SOCIAL"][a][b][c][0]);
}

function clear_login(obj,val){
	if(obj.value == val){obj.value="";}
}

function getScrollY(){
	return window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;
}

function getViewportWidth(){
	return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
}

function getViewportHeight(){
	return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
}

function imgLoad(obj){
	obj.style.visibility = 'visible';
	obj.parentNode.style.backgroundImage = 'none';
}

var offsets = new Object();
offsets.x=-60;
offsets.y=20;
var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false
var relative_to_object = 0;
var tipobjInd = 0;
var tipobjMode = 0;
var tipobj=[];

function initHelp(){
	if(ie||ns6){
		tipobj[0]=document.all?document.all["dhtmltooltip"]:document.getElementById?document.getElementById("dhtmltooltip"):"";
		tipobj[1]=document.all?document.all["helptip"]:document.getElementById?document.getElementById("helptip"):"";
	}
}

function getOffset2(what, offsettype){
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}

function imgSwap(obj,target,scale){
	var img = document.getElementById(target);
	var src = obj.src;
	var ind = src.indexOf("?");
	if(ind > 0){
		src = src.substr(0,ind);	
	}
	src += "?w=" + scale;
	img.src = src;
}

function ddrivetip(thisObj,t,c,w,x2,y2,i,obj){

	tipobjMode=i;
	if(x2){offsets.x=x2;}
	if(y2){offsets.y=y2;}
	if(typeof w!="undefined"&&w){tipobj[i].style.width=w+"px";}
	if(typeof c!="undefined"&&c!=""){tipobj[i].style.backgroundColor=c;}
	if(ARW != null && ARW[0]){
		var id = thisObj.id.split("-");
		tipobjInd = id[1];
		if(ARW[id[1]]){
			var content = ARW[id[1]].title;
		}else{
			var content = t;
		}
	}else{
		var content = t;
	}

	if(tipobjMode==0){
		tipobj[i].innerHTML=content;
	}else{
		tipobj[i].childNodes[3].innerHTML=content;
	}

	relative_to_object=obj;
	enabletip=true;
	document.onmousemove=positiontip;
	return false;
}

function positiontip(e){
	i = tipobjMode;

	if(!enabletip){return}
	var B=(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body;
	var curX=(ns6)?e.pageX:event.x+B.scrollLeft;
	var curY=(ns6)?e.pageY:event.y+B.scrollTop;
	var re=ie&&!window.opera? B.clientWidth-event.clientX-offsets.x:window.innerWidth-e.clientX-offsets.x-20
	var be=ie&&!window.opera? B.clientHeight-event.clientY-offsets.y:window.innerHeight-e.clientY-offsets.y-20
	var le=(offsets.x<0)? offsets.x*(-1):-1000;
	if(re<tipobj[i].offsetWidth){
		tipobj[i].style.left=ie? B.scrollLeft+event.clientX-tipobj[i].offsetWidth+"px":window.pageXOffset+e.clientX-tipobj[i].offsetWidth+"px";
	}else if(curX<le){
		tipobj[i].style.left="5px";
	}else{
		tipobj[i].style.left=curX+offsets.x+"px";
	}

	if(typeof(relative_to_object) == 'object'){ // this was done to patch ishop at home calendar rollovers...
		var offTop = getOffset2(relative_to_object,"top");
		var offLeft = getOffset2(relative_to_object,"left");

		//document.getElementById('dashboard_message').innerHTML = offTop + " - " + offLeft;
		tipobj[i].style.position = 'absolute';
		tipobj[i].style.top=offTop+50+"px";				
		tipobj[i].style.left=(offLeft-50)+"px";		
		if(re<tipobj[i].offsetWidth){
			tipobj[i].style.left=ie? B.scrollLeft+event.clientX-tipobj[i].offsetWidth+"px":window.pageXOffset+e.clientX-tipobj[i].offsetWidth+"px";
		}else if(curX<le){
			tipobj[i].style.left="5px";
		}
	}else{
		tipobj[i].style.top=curY+offsets.y+"px"		
	}

	//	tipobj[i].style.top=curY+offsets.y+"px"
	tipobj[i].style.visibility="visible";
	//	alert(tipobj[i].style.top);
	//	alert(tipobj[i].style.left);
}

function hideddrivetip(i){
	if(ns6||ie){
		tipobjMode=i;
		enabletip=false;
		tipobj[i].style.visibility="hidden";
		tipobj[i].style.left="-1000px";
		tipobj[i].style.backgroundColor='';
		tipobj[i].style.width='';
	}
}

if(typeof(XMLHttpRequest) == "undefined"){
  XMLHttpRequest = function() {
    try{return new ActiveXObject("Msxml2.XMLHTTP.6.0");}catch(e){}
    try{return new ActiveXObject("Msxml2.XMLHTTP.3.0");}catch(e){}
    try{return new ActiveXObject("Msxml2.XMLHTTP");}catch(e){}
    try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}
  };
}

CART = new Object();

function slideCart(dir){
	CART.ramp++;
	var unit = CART.ramp + CART.ramp;
	if((CART.cartSlideLeft - unit) < 1){
		unit = CART.cartSlideLeft;
	}
	CART.cartSlideLeft = (CART.cartSlideLeft - unit);
	var leftOff = parseInt(CART.cartInner.style.left);
	CART.cartInner.style.left = (dir == 'R') ?(leftOff + unit) + 'px': (leftOff - unit) + 'px';
	if(CART.cartSlideLeft < 1){
		window.clearInterval(CART.interval);
		var string = (dir == 'R')? ['S','H','O','W','&nbsp;','C','A','R','T']: ['H','I','D','E','&nbsp;','C','A','R','T'];
		for(x in CART.cartButton.childNodes){
			CART.cartButton.childNodes[x].innerHTML = string[x];
		}
		if(dir == 'R'){CART.cart.style.zIndex = 1;}
		try{
			var req = new XMLHttpRequest();
			var command = (dir == 'R')? 'hide': 'show';
			req.open("GET",'index.php?trans=crt|'+command);
			req.send("");
		}catch(e){}
	}
}

function hide_cart(obj,w,h){
	window.clearInterval(CART.interval);
	CART.cart = document.getElementById("cartCon");
	CART.cartInner = document.getElementById("cartInnerCon");
	CART.cartButton = document.getElementById("cartButH");
	CART.leftOff = getOffset2(CART.cart,'left');
	CART.leftOffInner = getOffset2(CART.cartInner,'left');
	CART.cartSlideLeft = w;
	CART.ramp = 3;
	var dir = (CART.leftOff == CART.leftOffInner)? 'R': 'L';
	if(dir == 'L'){CART.cart.style.zIndex = 40;}
	CART.interval = window.setInterval('slideCart("'+dir+'");',5);
}

function setCartStyle(){
	var bottomMarker = document.getElementById('cartStretchMarker');
	var offSetT = getOffset2(bottomMarker,'top');
	if(offSetT > (jH-250)){
		document.getElementById('searchCon').style.position = 'absolute';
		document.getElementById('cartCon').style.position = 'absolute';		
	}
	return false;
}


// COMPATIBILITY IS AN ISSUE... I AM NOT MOVING OVER THE FRAME CONTROLLER UNTIL IT'S BETTER TESTED...

function framePrint(id){
	var item = document.getElementById(id);

	top[id].focus();
	top[id].print();	

	//item.focus();
	//item.print();
}


TICKERS=[];

function initTicker(i){
	var id = 'mMCPID-'+i+'-47';
	var ticker = document.getElementById(id);
	if(ticker.id == id){
		TICKERS[i]=[];
		TICKERS[i][0]=1;
		TICKERS[i][1]=ticker;
		setTimeout("moveTicker("+i+");",50);
	}
}

function switchTicker(i,status){
	try{
		TICKERS[i][0] = status;
	}catch(e){}
}

function moveTicker(i){
	if(TICKERS[i][0] == 1){
		ticker = TICKERS[i][1];
		var right_to_left = false;
		ticker.scrollLeft += (right_to_left)? -1: 1;
		if(right_to_left && ticker.scrollLeft <= 0){
			ticker.scrollLeft = ticker.scrollWidth - ticker.offsetWidth;
		}else if(!right_to_left && (ticker.scrollLeft >= (ticker.scrollWidth - ticker.offsetWidth))){
			ticker.scrollLeft = 0;
		}
	}
	setTimeout("moveTicker("+i+");",50);
}

function getOffset(what, offsettype){
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}

function initSearch(){

	try{var s = document.getElementById("search"); if(s.value.replace(/^\s+|\s+$/g,"")=="" && jW > 1000 && ((document.documentElement.scrollTop || window.pageYOffset || 0) < 50)){s.focus();}}catch(e){}

}





temp =[];
tempobj3=[];

bannerInitTime=[];
bannerFadeLocks=[];

slideshow_width = [];
slideshow_height = [];
pause = [];
speed = [];
fadeimages = [];
fadedelays = [];
bannerBehavior = [];
bannerUniqueToPage = [];
bannerDontShow = [];
prevBannerDontShow = [];
bannerControllers = [];
BAN_STACK=[];
BAN_STACK[0]=[];
BAN_STACK[0][0]=[];
BAN=[];

function setOpacity(i,step,obj,val){
	if(obj.filters){
		obj.filters.alpha.opacity=val;
	}else if(obj.style.MozOpacity){
		obj.style.MozOpacity=val;
	}else{
		obj.style.opacity=val;
	}
}

function setClip(i,step,obj,val,val2,t){

	// rect (top, right, bottom, left)

	var h = slideshow_height[i];
	var w = slideshow_width[i];

	if(t==3){
		r = Math.floor(w * (step/100));
		l = 0;
	}else if(t==4){
		r = w;
		l = w - Math.floor(w * (step/100));
	}else if(t==5){
		var g = Math.floor(w / 10);
		l = g * val;
		r = l + Math.floor(g * (step/100));	
	}

	//alert((step/100));

	obj.style.clip = "rect(0px,"+r+"px,"+h+"px,"+l+"px)";

}

function doBannerTransition(i,cur,dir){

	var t = bannerBehavior[i];

	if(t == 0 || t == 1 || t == 2){
		setOpacity(i,BAN['P'][i][dir],BAN['C'][i][dir],(BAN['P'][i][dir]/BAN.divisor)); // The problem here is the z-index... and a lack of a pre-loader...
		setOpacity(i,BAN['P'][i][cur],BAN['C'][i][cur],(BAN['P'][i][cur]/BAN.divisor));
		return;
	}

	if(t == 3){
		setClip(i,BAN['P'][i][cur],BAN['C'][i][cur],(BAN['P'][i][cur]/BAN.divisor),0,t);
	}else if(t == 4){
		setClip(i,BAN['P'][i][cur],BAN['C'][i][cur],(BAN['P'][i][cur]/BAN.divisor),0,t);	
	}else if(t == 5){
		for(var y = 0; y < 10; y++){
			setClip(i,BAN['P'][i][cur],BAN['C'][i][cur].childNodes[y],y,0,t);		
		}	
	}

}


function prepTransition(i,dir,cur){

	var t = bannerBehavior[i];

	// pr("prepTransition i("+i+") dir("+dir+") cur("+cur+") t("+t+")");

	if(t == 0 || t == 1){
		setOpacity(i,0,BAN['C'][i][dir],0);
		setOpacity(i,0,BAN['C'][i][cur],100);
		return;
	}

	if(t == 2){ // cross fade
		setOpacity(i,0,BAN['C'][i][dir],0);
		setOpacity(i,0,BAN['C'][i][cur],100);	
		return;	
	}

	if(t == 3 || t == 4){
		setOpacity(i,0,BAN['C'][i][dir],100);
		setOpacity(i,0,BAN['C'][i][cur],100);
		setClip(i,100,BAN['C'][i][dir],100,0,t);
		setClip(i,100,BAN['C'][i][cur],100,0,t);
	}else if(t == 5){

		setClip(i,100,BAN['C'][i][dir],100,0,3);
		setOpacity(i,0,BAN['C'][i][dir],100);

		BAN['C'][i][dir].childNodes[0].style.display = 'block';
		BAN['C'][i][dir].childNodes[0].style.position = 'absolute';
		BAN['C'][i][dir].childNodes[0].style.overflow = 'hidden';

		setClip(i,100,BAN['C'][i][cur].childNodes[0],0,0,t);
		setOpacity(i,0,BAN['C'][i][cur],100);

		BAN['C'][i][cur].childNodes[0].style.display = 'block';
		BAN['C'][i][cur].childNodes[0].style.position = 'absolute';
		BAN['C'][i][cur].childNodes[0].style.overflow = 'hidden';

		var c1 = BAN['C'][i][cur].childNodes[0].className;
		var clone = (c1 == 'banner')? BAN['C'][i][cur].childNodes[0].cloneNode(true): BAN['C'][i][cur].childNodes[0].childNodes[0].cloneNode(true);

		for(var y = 1; y < 11; y++){
			var newNode = clone.cloneNode(true);
			newNode.id = 'banCtrl-'+y;
			newNode.style.position = 'absolute';
			newNode.style.top = "0px";
			BAN['C'][i][cur].appendChild(newNode);			
			setClip(i,100,BAN['C'][i][cur].childNodes[y],y,0,t);
		}
	}
}

function resetBanController(x){

	var pos = BAN['I'][x];
	var conCon = document.getElementById("banCtrl"+x);
	var l = conCon.childNodes[0].childNodes.length-1;
	var clone = conCon.childNodes[0].childNodes[1].cloneNode(true);

	for(var y=1; y <= l; y++){
		conCon.childNodes[0].removeChild(conCon.childNodes[0].childNodes[1]);
	}

	var l = BAN['i'][x].length;
	for(var y=l; y > 0; y--){
		var newNode = clone.cloneNode(true);
		newNode.id = 'banCtrl-'+y;
		newNode.className = 'banCtrlA';
		conCon.childNodes[0].appendChild(newNode);
	}

}

function onloadBan(i,x){

	BAN['imgL'][i][x] = true;

	// alert("onloadBan("+i+") ("+x+")");
}


function insertimage(obj,x,i){

	var t = bannerBehavior[i];

	var fi = BAN['i'][i][x];

	if(typeof(fi) == 'undefined'){
		distro_error("BAN['i']["+i+"]["+x+"]");
	}

	// pr("IMAGE("+fi[0]+")");

	var is_link = (fi[1]!='')? 1: 0;
	var tc = (is_link)? '<a href="'+fi[1]+'" target="'+fi[2]+'">' : '';
	var w = (fi[3] > 0)? ' width="'+fi[3]+'px" ': '';
	var h = (fi[4] > 0)? ' height="'+fi[4]+'px" ': '';
	var r = (fi[5] > 0)? ' rel="nofollow" ': '';
	var c = (fi[6] > 0 && fi[7] > 0 && fi[8] > 0)? ' onclick="try{return callTransition(this,0,0,'+fi[7]+','+fi[8]+',0,0,0);}catch(e){}" ': '';
	tc += '<img class="banner" "'+w+'" "'+c+'" "'+h+'" "'+r+'" src="'+fi[0]+'" onload="onloadBan('+i+','+x+')" border="0">';
	tc = (is_link)? tc+'</a>' : tc;

	if(typeof(obj.childNodes[0]) != 'undefined'){
		var img = (typeof(obj.childNodes[0].childNodes[0]) != 'undefined')? obj.childNodes[0].childNodes[0]: obj.childNodes[0];
		// pr("LOAD RETURN ("+img.src+"=="+fi[0]+")");
		if(img.src == fi[0] && t != 5){
			// pr("LOAD RETURN ("+img.src+"=="+fi[0]+")");
			return 0;
		}
	}

	BAN['imgL'][i][x] = false;

	obj.innerHTML = tc;
	
	return 1;
}

function fadepic(i){

	var dir = BAN['D'][i];
	var cur = (dir)? 0: 1;

	if(typeof(BAN['imgL'][i][BAN['I'][i]]) == 'undefined' || !BAN['imgL'][i][BAN['I'][i]]){
		return;	
	}

	// If I do a wipe... then make it simple... and just duplicate the overlaying image several times... and wipe... no "HTML 5" required...

	if(BAN['P'][i][dir]<100){
		BAN['P'][i][dir]+=10;
		if(BAN['P'][i][cur]>0){
			BAN['P'][i][cur]-=10;
		}

		doBannerTransition(i,cur,dir);

		return;
	}

	clearInterval(temp[i]);

	var show = (parseInt(bannerDontShow[i]))? 0: 1;
	
	if(show){
		tempobj3[i] = setTimeout('rotateimage('+i+')',pause[i]);
	}

	bannerFadeLocks[i] = false;

	setController(i);

}

function setController(i){

	if(bannerControllers[i] == 1){
		var num = parseInt(BAN['I'][i]);
		var l = BAN['i'][i].length;
		num = ((num+2) > l)? 1: num+2;
		var k = 'banCtrl-'+ num;
		var p = document.getElementById(k).className = 'banCtrlB';
	}

}


function rotateimage(i){

	if(bannerFadeLocks[i]){
		return;
	}

	var t = bannerBehavior[i];

	if(bannerControllers[i] == 1){
		// reset all the controllers...
		for(var z in BAN['i'][i]){
			var k = 'banCtrl-' + (parseInt(z)+1);
			var p = document.getElementById(k).className = 'banCtrlA';
		}
	}

	//	bannerInitTime[i] = Date.now(); // this is not supported in IE 7

	bannerFadeLocks[i] = true;

	var dir = BAN['D'][i] = (BAN['D'][i])? 0: 1;

	var cur = (dir)? 0: 1;

	//pr("dir("+dir+") cur("+cur+")");

	BAN['C'][i][dir].style.zIndex = 10;
	BAN['C'][i][cur].style.zIndex = 20;

	BAN['I'][i]=(BAN['I'][i]<BAN['i'][i].length-1)? BAN['I'][i]+1 : 0;

	// pr("INSERT BAN['C'][i][dir]("+BAN['C'][i][dir]+") BAN['I'][i]("+BAN['I'][i]+") i("+i+")");

	var result = insertimage(BAN['C'][i][dir],BAN['I'][i],i);

	BAN['P'][i][dir] = 0;

	prepTransition(i,dir,cur);

	BAN['C'][i][dir].style.visibility = 'visible';

	if(result && BAN['i'][i].length > 1){
		temp[i]=setInterval("fadepic("+i+")",speed[i]);
	}
}

function banCtrl(obj,no,instance){
	//alert('banControl no('+no+') instance('+instance+')');

	var lock = (bannerFadeLocks[instance])? 1: 0;

	if(!no){
		bannerFadeLocks[instance] = (lock)? 0: 1;
		var p = document.getElementById('banCtrlX-'+instance).style.backgroundPosition = (lock)? '-24px 0px': '-24px -18px';

		clearInterval(temp[instance]);
		clearTimeout(tempobj3[instance]);

		if(lock){
			rotateimage(instance);
		}
	}else{
		bannerFadeLocks[instance] = 0;		

		clearInterval(temp[instance]);
		clearTimeout(tempobj3[instance]);

		var s = obj.id.split("-");

		var no = s[1];

		no = no - 3;

		if(no < 0){
			no = BAN['i'][instance].length + no;
		}

		BAN['I'][instance] = no;

		rotateimage(instance);
	}

	obj.focus();
	return false;
}


function startit(clear,caller_index,caller_id){

	var mod = MODS_LOADED['H'][RECORD_INDEX][RECORD_ID];



	for(var x in mod['g']){
		bannerBehavior[x]=parseInt(mod['g'][x]);
	}

	for(var x in mod['u']){
		bannerUniqueToPage[x]=parseInt(mod['u'][x]);
	}

	for(var x in mod['x']){
		prevBannerDontShow[x] = parseInt(bannerDontShow[x]);
		bannerDontShow[x]=parseInt(mod['x'][x]);
	}

	for(var x in mod['c']){
		bannerControllers[x]=parseInt(mod['c'][x]);
	}

	// I NEED SOME SORT OF STACK REFRENCE...
	// IF THERE IS NO INSERT INTO... THEN LOADED BANNERS CANNOT DISPLAY...

	if(!clear){

		slideshow_height = [];
		slideshow_width = [];
		pause = [];
		speed = [];
		fadedelays = [];
		BAN['C'] = [];
		BAN['D'] = [];
		BAN['P'] = [];
		BAN['CON'] = [];
		BAN['COV'] = [];
		BAN['imgL'] = [];
		BAN['i'] = [];

		for(var x in mod['h']){

			slideshow_height[x]=mod['h'][x];
			slideshow_width[x]=mod['w'][x];
			pause[x]=mod['p'][x];
			speed[x]=mod['s'][x];
			fadedelays[x]=mod['d'][x];
			
			var aC = document.getElementById("canvas"+x+"a");
			var bC = document.getElementById("canvas"+x+"b");

			if(aC && aC.filters){
				BAN.divisor = 1;
			}else if(aC && aC.style.MozOpacity){
				BAN.divisor = 101;
			}else{
				BAN.divisor = 100;
			}

			BAN['C'][x] = [];
			BAN['C'][x][0] = bC;
			BAN['C'][x][1] = aC;
			BAN['D'][x] = 0;
			BAN['I'] = [];
			BAN['I'][x] = 0;
			BAN['P'][x] = [];
			BAN['P'][x][0] = 100;
			BAN['P'][x][1] = 1;
			BAN['CON'][x] = document.getElementById("banCov"+x);
			BAN['COV'][x] = document.getElementById("banCon"+x);
			BAN['imgL'][x] = [];
			BAN['i'][x] = [];
		}

		for(x in mod){
			BAN[x] = mod[x];
		}
	}

	for(var x in bannerDontShow){

		var show = (parseInt(bannerDontShow[x]))? 0: 1;

		if(typeof(BAN['CON'][x]) == 'undefined' || !BAN['CON'][x]){ // in some cases the mod is loading but the template is not set to receive it.
			continue;
		}

		var l = (typeof(BAN['i'][x]) == 'undefined')? 0: BAN['i'][x].length-1;

		if(show){
			BAN['CON'][x].style.display = 'block';		
			BAN['COV'][x].style.display = 'block';

		}else{
			BAN['CON'][x].style.display = 'none';		
			BAN['COV'][x].style.display = 'none';

			BAN['P'][x][BAN['D'][x]] = 0;
			setOpacity(x,0,BAN['C'][x][BAN['D'][x]],0);
			BAN['C'][x][BAN['D'][x]].style.zIndex = 0;	
		}

		// if it is an insert into rotation... then it goes into the core stack...
		// else it goes into its own private stack...

		if(typeof(BAN_STACK[RECORD_INDEX]) == 'undefined'){
			BAN_STACK[RECORD_INDEX] = [];
		}

		if(typeof(BAN_STACK[RECORD_INDEX][RECORD_ID]) == 'undefined'){
			BAN_STACK[RECORD_INDEX][RECORD_ID] = [];
		}

		var S_IND = RECORD_INDEX;
		var S_ID = RECORD_ID;
		if(bannerUniqueToPage[x]){
			var S_IND = 0;
			var S_ID = 0;
		}

		if(typeof(BAN_STACK[S_IND][S_ID]['i']) == 'undefined'){
			BAN_STACK[S_IND][S_ID]['i'] = [];
		}

		if(typeof(BAN_STACK[S_IND][S_ID]['i'][x]) == 'undefined'){
			BAN_STACK[S_IND][S_ID]['i'][x] = [];
		}

		for(var y in mod['i'][x]){
			BAN_STACK[S_IND][S_ID]['i'][x][y] = mod['i'][x][y];
		}

		BAN['i'][x] = BAN_STACK[S_IND][S_ID]['i'][x];

		if(show && bannerControllers[x]){
			resetBanController(x);
		}

		// if there is a controller... I need to reset it...

		// I SHOULD BE CLEARING ALL TIME OUTS AND RELEASING OR SETTING LOCKS... I DEFINATELY BURNT OUT SOMEWHERE AROUND HERE A WHILE BACK...

		clearTimeout(tempobj3[x]);		

		if(!show){
			continue;
		}

		if(clear){

			// THIS IS ALL THE LOGIC FOR LOADING ITEMS SPECIFIC TO THE PAGE... IT PROBABLY LACKS A MASTER ARRAY...

			// I AM ALWAYS RESETTING...

			var is_reset = false;
			if(bannerUniqueToPage[x] || typeof(BAN['i'][x]) == 'undefined'){
				// alert("BANNER RESET("+x+") UNIQUE("+bannerUniqueToPage[x]+")");
				is_reset = true;
				BAN['i'][x]=[];
				//clearTimeout(tempobj3[x]);
			}

			for(var y in mod['i'][x]){
				var is_set = 0;
				for(var z in BAN['i'][x]){
					if(BAN['i'][x][z][0] == mod['i'][x][y][0]){
						is_set = 1;
						break;
					}
				}
				if(!is_set){
					BAN['i'][x][y]=mod['i'][x][y];
				}
			}

			if(BAN['i'][x].length < 2){

				// clearTimeout(tempobj3[x]);

				// IT MUST BE INSERTED... BUT... I NEED TO FIX THE DIRECTION...

				insertimage(BAN['C'][x][BAN['D'][x]],0,x);

				BAN['P'][x][BAN['D'][x]] = 100;
				setOpacity(x,100,BAN['C'][x][BAN['D'][x]],100);
				BAN['C'][x][BAN['D'][x]].style.zIndex = 100;

				bannerFadeLocks[x] = false;

				continue;

			}else if(is_reset){

				if(bannerBehavior[x] != 2){
					BAN['I'][x] = 0;
				}

			}else{ // the banner may have been closed... and hidden... now it needs to be visible

				// Obviously Temporary... Hard reset to opacity in case it was previously hidden...

				BAN['C'][x][0].style.visibility = 'visible';
				BAN['C'][x][1].style.visibility = 'visible';

				//setOpacity(x,100,BAN['C'][x][0],100);
				//setOpacity(x,100,BAN['C'][x][1],100);
				// SO... IF IT WAS PREVIOUSLY HIDDEN... I WANT IT TO FADE IN IMMEDIATELY??? NO....
				// I WANT IT TO SHOW IMMEDIATELY AND DELAY THE TRANSITION... !!!! YES !!!!
			}

			if(bannerBehavior[x] == 2 || bannerBehavior[x] == 1 || bannerBehavior[x] == 0){
				//clearTimeout(tempobj3[x]);
				var thisPause = 200;

				if(bannerBehavior[x] == 2 && parseInt(prevBannerDontShow[x]) == 1){

					thisPause = pause[x];

					var dir = (BAN['D'][x])? 1: 0;

					setOpacity(x,100,BAN['C'][x][dir],100);
					
					setController(x);

					insertimage(BAN['C'][x][dir],BAN['I'][x],x);

				}

				tempobj3[x] = setTimeout('rotateimage('+x+')',thisPause);
			}else{
				//clearTimeout(tempobj3[x]);
				var thisPause = (is_reset)? 200: pause[x];
				tempobj3[x] = setTimeout('rotateimage('+x+')',thisPause);
			}

		}else{

			BAN['I'][x] = l;

			var t = bannerBehavior[x];

			if(t == 2 || t == 3 || t == 4 || t == 5){

				tempobj3[x] = setTimeout('rotateimage('+x+')',pause[x]);

			}else{

				rotateimage(x);
			
			}
		}
	}

}



var INP_BORDER_NORMAL = "solid 2px #CCC";var INP_BORDER_ERROR = "solid 2px #F00";var INP_BACKGROUND_NORMAL = "#fff";var INP_BACKGROUND_ERROR = "#BFD3E6";var IS_DISTRO = false;function inpblur(o){o.style.background=INP_BACKGROUND_NORMAL;}function inpfocus(o){o.style.background=INP_BACKGROUND_ERROR;}
