var d=document,
MAX_THUMBS=20,
TOTAL_THUMBS=0,
CURR_THUMB_INDEX=0,
PREV_THUMB_INDEX=0,
CURR_A_ID=0,
CURR_A_ID2=0,
PREV_A_ID=0,
PREV_A_ID2=0,
CURR_THUMB_ID=0,
PREV_THUMB_ID=0,
CURR_THUMB_ID2=0,
PREV_THUMB_ID2=0,
SCR_SPEED=100,
LFT_SCR=0,
RHT_SCR=0,
IMG_SELECTED=false,
THUMB_CLONE_USED=false,
CURR_IMG_INDEX=-2,
CURR_IMG_INDEX2=-2,
BLURB="",
PREV_IMG_INDEX=0,
PREV_IMG_INDEX2=0,
TNS=[],
TNS_NOID=[],
URL_MODE=false,
THUMBS_CLONED=false,
FADES=[],
STEP_NUM=45,
FADE_ON=false,
FADE_SPEED=10,
ACTIVE_FADE=0,
DIM_COLOR=[12,12,12],
LAST_THUMB=0,
TRANS_VALUE=0.4;

function ge(id){return document.getElementById(id);}
function gt(tag){return document.getElementsByTagName(tag);}
function say(somthing) {document.title=somthing;}

function update_thumbs() {
	var tn_loop=CURR_THUMB_INDEX;
	var prev_loop=PREV_THUMB_INDEX;
	for (var h=0; h<MAX_THUMBS; h++) {
		ge(TNS[prev_loop][0]).style.display="none";
		prev_loop++;
		if (prev_loop==TOTAL_THUMBS+MAX_THUMBS) {
			prev_loop=0;
		}
	}
	for (var u=0; u<MAX_THUMBS; u++) {
		ge(TNS[tn_loop][0]).style.display="block";
		tn_loop++;
		if (tn_loop>TOTAL_THUMBS+MAX_THUMBS) {
			tn_loop=0;
		}
	}
LAST_THUMB=tn_loop;
}

function img_right_down() {
	this.className="rtn_press";
}

function img_left_down() {
	this.className="ltn_press";
}

function img_right_up() {
	this.className="rtn_hover";
}

function img_left_up() {
	this.className="ltn_hover";
}


function show() {

		//if (!obj){
		//this.step=-1;
		//var t=this.ind;} else {obj.step=-1;var t=obj.ind;}


	this.step=-1;
	var t=this.ind;
	PREV_IMG_INDEX=CURR_IMG_INDEX;
	if (IMG_SELECTED===true) {ge(TNS[PREV_IMG_INDEX][1]).step=0;}
	CURR_IMG_INDEX=t;	
	PREV_THUMB_ID=CURR_THUMB_ID;
	CURR_THUMB_ID=TNS[t][0];

	if (IMG_SELECTED===true) {
		ge(PREV_THUMB_ID).className=TNS[PREV_IMG_INDEX][4];
		ge(TNS[PREV_IMG_INDEX][1]).style.backgroundColor=toRGB(ge(TNS[PREV_IMG_INDEX][1]).rgb);
	}


		ge(CURR_THUMB_ID).className="current";
		ge(TNS[t][1]).style.backgroundColor=ge(TNS[t][1]).rgbc;


	if (IMG_SELECTED===false && URL_MODE===false) { //create image controls if required
		LAST_THUMB=MAX_THUMBS;
		ge("imgview_wrap").style.display="block";
		ge("title_wrap").style.display="block";
		FADES.push("left_img_thumb");
		FADES.push("right_img_thumb");
		var lit=ge("left_img_thumb");
		lit.ind=-1;
		lit.step=0;
		lit.fx=1;
		lit.th=1;
		lit.tval=TRANS_VALUE;
		lit.style.opacity=TRANS_VALUE;
		lit.style.filter = "alpha(opacity=40)"; //for IE
		lit.className="ltn_active";
		lit.onmouseover=light;
		lit.onmouseout=fade;
		lit.onclick=show;
		lit.onmousedown=img_left_down;
		lit.onmouseup=img_left_up;
		var rit=ge("right_img_thumb");
		rit.ind=-1;
		rit.step=0;
		rit.fx=1;
		rit.th=1;
		rit.tval=TRANS_VALUE;
		rit.style.opacity=TRANS_VALUE;
		rit.style.filter = "alpha(opacity=40)"; //for IE
		rit.className="rtn_active";
		rit.onmouseover=light;
		rit.onmouseout=fade;
		rit.onclick=show;
		rit.onmousedown=img_right_down;
		rit.onmouseup=img_right_up;
	}
	IMG_SELECTED=true;
	if (t<9) {ge("img_num").innerHTML="0"+(t+1)} else {ge("img_num").innerHTML=t+1};
	ge("img_title").innerHTML=TNS[t][3];
	ge("img_subtitle").innerHTML=TNS[t][5];
	

	if (URL_MODE===false) {
		if (t+1==TOTAL_THUMBS){var rt=0;} else {rt=t+1;}
		ge("right_img_thumb").ind=rt;
		if (t-1<0){var lt=TOTAL_THUMBS-1;} else {lt=t-1;}
		ge("left_img_thumb").ind=lt;
		ge("bigimg").src=TNS[t][2];
		return false;
	} else {
		return true;
	}

	}




function show2(obj) {


		obj.step=-1;
		var t=obj.ind;


//	this.step=-1;var t=this.ind;
	PREV_IMG_INDEX=CURR_IMG_INDEX;
	if (IMG_SELECTED===true) {ge(TNS[PREV_IMG_INDEX][1]).step=0;}
	CURR_IMG_INDEX=t;	
	PREV_THUMB_ID=CURR_THUMB_ID;
	CURR_THUMB_ID=TNS[t][0];

	if (IMG_SELECTED===true) {
		ge(PREV_THUMB_ID).className=TNS[PREV_IMG_INDEX][4];
		ge(TNS[PREV_IMG_INDEX][1]).style.backgroundColor=toRGB(ge(TNS[PREV_IMG_INDEX][1]).rgb);

	}


	ge(CURR_THUMB_ID).className="current";
	ge(TNS[t][1]).style.backgroundColor=ge(TNS[t][1]).rgbc;



	if (IMG_SELECTED===false && URL_MODE===false) { //create image controls if required
		LAST_THUMB=MAX_THUMBS;
		ge("imgview_wrap").style.display="block";
		ge("title_wrap").style.display="block";
		FADES.push("left_img_thumb");
		FADES.push("right_img_thumb");
		var lit=ge("left_img_thumb");
		lit.ind=-1;
		lit.step=0;
		lit.fx=1;
		lit.th=1;
		lit.tval=TRANS_VALUE;
		lit.style.opacity=TRANS_VALUE;
		lit.style.filter = "alpha(opacity=40)"; //for IE
		lit.className="ltn_active";
		lit.onmouseover=light;
		lit.onmouseout=fade;
		lit.onclick=show;
		lit.onmousedown=img_left_down;
		lit.onmouseup=img_left_up;
		var rit=ge("right_img_thumb");
		rit.ind=-1;
		rit.step=0;
		rit.fx=1;
		rit.th=1;
		rit.tval=TRANS_VALUE;
		rit.style.opacity=TRANS_VALUE;
		rit.style.filter = "alpha(opacity=40)"; //for IE
		rit.className="rtn_active";
		rit.onmouseover=light;
		rit.onmouseout=fade;
		rit.onclick=show;
		rit.onmousedown=img_right_down;
		rit.onmouseup=img_right_up;
	}
	IMG_SELECTED=true;
	if (t<10) {ge("img_num").innerHTML="0"+(t+1)} else {ge("img_num").innerHTML=t+1};
	ge("img_title").innerHTML=TNS[t][3];
	ge("img_subtitle").innerHTML=TNS[t][5];
	

	if (URL_MODE===false) {
		if (t+1==TOTAL_THUMBS){var rt=0;} else {rt=t+1;}
		ge("right_img_thumb").ind=rt;
		if (t-1<0){var lt=TOTAL_THUMBS-1;} else {lt=t-1;}
		ge("left_img_thumb").ind=lt;
		ge("bigimg").src=TNS[t][2];
		return false;
	} else {
		return true;
	}
}




function init_filmstrip() {
	if (ge("filmstrip")) {
		var tn_found=0;
		if (ge("filmstrip").className=="fade url_mode") {URL_MODE=true;}
		for (var lis=0; lis<gt("li").length; lis++) {
			var curr_li=gt("li")[lis];
			if (curr_li.parentNode.id=="thumbs") {
				if (tn_found<MAX_THUMBS) {
					curr_li.style.display="block";
					TNS_NOID[tn_found]=curr_li.innerHTML;
				}
				var tn_name="thumb"+(tn_found+1);
				curr_li.id=tn_name;
				var a_name="a"+(tn_found+1);
				ge(tn_name).getElementsByTagName("a")[0].id=a_name;
				var curra=ge(a_name);
				if (curra.rel=="out") {curra.target="_blank";}
				var tn_class=ge(tn_name).className;
				TNS[tn_found]=[tn_name,a_name,curra.href,curra.title,tn_class,curra.rel];
				FADES.push(a_name);
				curra.step=0;
				curra.fx=0;
//				var hbr=getCSSRule("#thumbs li a:hover").style.backgroundColor;
//				curra.rgbc=getCSSRule("#thumbs li.current a").style.backgroundColor;
//				var br=getCSSRule("#thumbs li a").style.backgroundColor;
				var hbr="rgb(255,255,255)";
				curra.rgbc="rgb(255,210,0)";
				var br="rgb(0,0,0)";
				curra.rgbh=getRGB(hbr);
				curra.rgb=getRGB(br);
				curra.ind=tn_found;
				curra.onclick=show;
				curra.onmouseover=light;
				curra.onmouseout=fade;
				tn_found++;
			} 
		}
		TOTAL_THUMBS=tn_found;
		if (TOTAL_THUMBS<MAX_THUMBS) {MAX_THUMBS=TOTAL_THUMBS;}

	}

}	

//FADE SECTION

function start_fade() {
	FADE_ON=true;
	FADE_LOOP=setInterval(fade_out, FADE_SPEED);
}

function fade_out() {
	ACTIVE_FADE=0;
	for (var f in FADES) {
		var me=ge(FADES[f]);
		if (me.step>STEP_NUM) {
			if (me.fx===0) {
				me.style.backgroundColor=toRGB(me.rgbh);
			} else if (me.fx==1) {
				me.style.opacity=me.th;
				me.style.filter = "alpha(opacity=" + (me.th*100) + ")"; //for IE
			} else if (me.fx==2) {
				me.style.border="1px solid";
				me.style.padding="0";
				me.style.borderColor=toRGB(me.rgbh);
			}
		}
		else if (me.step===0 && me.fx==2 && me.ind!==CURR_IMG_INDEX && me.ind!==CURR_IMG_INDEX2) {
			me.style.border="none";
			me.style.padding="1px";
		}
		else if (me.step > 0) {
			if (me.fx===0) {
				var r=parseInt(((me.rgbh[0]-me.rgb[0])/STEP_NUM)*me.step)+me.rgb[0];
				var g=parseInt(((me.rgbh[1]-me.rgb[1])/STEP_NUM)*me.step)+me.rgb[1];
				var b=parseInt(((me.rgbh[2]-me.rgb[2])/STEP_NUM)*me.step)+me.rgb[2];
				me.style.backgroundColor="rgb("+r+","+g+","+b+")";
				me.step--;
			} 
			else if (me.fx==1) {
				var tempAlpha=(((me.th-me.tval)/STEP_NUM)*me.step)+me.tval;
				me.style.opacity=tempAlpha;
				me.style.filter = "alpha(opacity=" + (tempAlpha*100) + ")"; //for IE
				me.step--;
			}
			else if (me.fx==2) {
				var r=parseInt(((me.rgbh[0]-me.rgb[0])/STEP_NUM)*me.step)+me.rgb[0];
				var g=parseInt(((me.rgbh[1]-me.rgb[1])/STEP_NUM)*me.step)+me.rgb[1];
				var b=parseInt(((me.rgbh[2]-me.rgb[2])/STEP_NUM)*me.step)+me.rgb[2];
				me.style.borderColor="rgb("+r+","+g+","+b+")";
				me.step--;
			}
			else if (me.fx==3) {
				var r=parseInt(((me.rgb[0]-DIM_COLOR[0])/STEP_NUM)*me.step)+DIM_COLOR[0];
				var g=parseInt(((me.rgb[1]-DIM_COLOR[1])/STEP_NUM)*me.step)+DIM_COLOR[1];
				var b=parseInt(((me.rgb[2]-DIM_COLOR[2])/STEP_NUM)*me.step)+DIM_COLOR[2];
				me.style.backgroundColor="rgb("+r+","+g+","+b+")";
				me.step--;
			}		
		ACTIVE_FADE++;
		} 
		else if (me.step < 0) {
			if (me.fx===0) {
				me.style.backgroundColor=me.rgbc;
			} 
			else if (me.fx==2) {
				me.style.borderColor=me.rgbc;
			}		
		} 
	}
	
	if (ACTIVE_FADE===0) {
		FADE_ON=false;
		clearInterval(FADE_LOOP);
	}
}

function getRGB(str){
if (str.indexOf("#")>=0){
var zRGB= new Array(0,0,0);
zRGB[0]=parseInt(str.substring(1,3),16);
zRGB[1]=parseInt(str.substring(3,5),16);
zRGB[2]=parseInt(str.substring(5,7),16);
}
else {
var zRGB=str.split(",");
zRGB[0]=parseInt(zRGB[0].substring(4,zRGB[0].length));
zRGB[1]=parseInt(zRGB[1]);
zRGB[2]=parseInt(zRGB[2]);}
return zRGB;
}

function toRGB(arr) {
	return "rgb("+arr[0]+","+arr[1]+","+arr[2]+")";
}


function getCSSRule(ruleName) {
//	for (var i=0; i<document.styleSheets.length; i++) {
//		var styleSheet=document.styleSheets[i];         
//		var ii=0;
//		var cssRule=false;
//		do {
//			if (styleSheet.cssRules) {cssRule = styleSheet.cssRules[ii];} else {cssRule = styleSheet.rules[ii]; }
//			if (cssRule)  {if (cssRule.selectorText.toLowerCase()==ruleName) {return cssRule;}
//			}
//		ii++;
//		} while (cssRule)
//	}
//return false;
/*
var mysheet=document.styleSheets[0]
var myrules=mysheet.cssRules? mysheet.cssRules: mysheet.rules
for (i=0; i<myrules.length; i++){
if(myrules[i].selectorText.toLowerCase()==ruleName){ //find "a:hover" rule
targetrule=myrules[i]
return myrules[i];
break;
}
}
*/
}

function fade() {
	if (this.ind!==CURR_IMG_INDEX && this.ind!==CURR_IMG_INDEX2) {
		ge(this.id).step=STEP_NUM;
		if (FADE_ON===false) {start_fade();}
	}
}

function light() {
	if (this.ind!==CURR_IMG_INDEX && this.ind!==CURR_IMG_INDEX2) {
		ge(this.id).step=STEP_NUM+1;
		if (FADE_ON===false) {start_fade();}
	}
}

function void_click() {
return false;
}

function init_fade() {
	for (var di in gt("div")) {
		if (gt("div")[di].id) {
			var me=gt("div")[di].id;
			if (ge(me).className=="fade" || ge(me).className=="fade url_mode"){
				FADES.push(me);
				ge(me).onmouseout=fade;
				ge(me).onmouseover=light;
				ge(me).step=0;
				ge(me).fx=0;
				ge(me).ind=-1;
				var hc=getCSSRule("#"+me+":hover").style.backgroundColor;
				var bg=getCSSRule("#"+me).style.backgroundColor;
				ge(me).rgbh=getRGB(hc);
				ge(me).rgb=getRGB(bg);
			} 
		}
	}
	for (var as in gt("a")) {
		if (gt("a")[as].id) {
			var me=gt("a")[as].id;
			if (ge(me).className=="fade trans") {
				FADES.push(me);
				ge(me).onmouseout=fade;
				ge(me).onmouseover=light;
				ge(me).step=0;
				ge(me).fx=1;
				ge(me).ind=-1;
				ge(me).th=1;
				ge(me).tval=TRANS_VALUE;
				ge(me).style.opacity=TRANS_VALUE;
				ge(me).style.filter = "alpha(opacity=40)"; //for IE
			}
			if (ge(me).className=="active_page"){
				ge(me).onclick=void_click;
				ge(me).style.cursor="default";
			}
		} 
	}
}

init_fade();
init_filmstrip();
show2(ge("a1"));
