/*
 * Copyright 2009 - eSolution
 * All rights reserved
 */
var gTabElIndxs = new Array();
// List of tags to disable tabbing
var gPopMain="popMain";
var gPopHead="popHead";
var gPopFrame="popFrame";
var gDisMain="disMain";
var gTabTags = new Array("button","a","textarea","input","iframe");
var gDisabled=false;
var gIsIE=false; // IE
var gIsIE6=false; // IE<=6
var gIEversion=0;

if (navigator.appVersion.indexOf("MSIE")!=-1){
	temp=navigator.appVersion.split("MSIE");
	gIEversion=parseFloat(temp[1]);
	gIsIE6=(gIEversion<=6);
	gIsIE=true;
}

if (!document.all) {
	document.onkeypress=keyDownTrap;
}
addEvent(window, "resize", centerPop);

function keyDownTrap(ev) {
	return !gDisabled || ev.keyCode!=9;
}
function disable(){
	setEnable(false);
}
function enable() {
	setEnable(true);
	// hack, not to cache iframe
	var url = document.getElementById(gPopFrame).src;
	document.getElementById(gPopFrame).src=null;
	document.getElementById(gPopFrame).src=url;
}

function setEnable(enable_){
	var dis=document.getElementById(gDisMain);
	var pop=document.getElementById(gPopMain);
	if(dis){
		dis.style.zIndex = enable_?1:10;
		dis.style.display = enable_?"none":"block";
		if(gIsIE6){
			pop.style.position="absolute";
			dis.style.height=document.body.clientHeight;
			dis.style.visibility="hidden";
		}
	}
	if(pop){
		pop.style.display= enable_?"none":"block";
	}
	gDisabled=!enable_;
	if(!enable_) reSize();
	iehack();
}
function iehack(){
	if(gIsIE) setSelectElsVisible(!gDisabled);
	setTabsEnabled(!gDisabled);
}
function setTabsEnabled(enabled) {// for IE
	if (document.all) {
		var i = 0;
		var n = gTabTags.length;
		for (var j = 0; j < n; j++) {
			var tagEls = document.getElementsByTagName(gTabTags[j]);
			for (var k = 0 ; k < tagEls.length; k++) {
				if(enabled){
					tagEls[k].tabIndex = gTabElIndxs[i];
					tagEls[k].tabEnabled = true;
				}else{
					gTabElIndxs[i] = tagEls[k].tabIndex;
					tagEls[k].tabIndex=-1;
				}
				tagEls[k].tabEnabled = enabled;
				i++;
			}
		}
	}
}
function setSelectElsVisible(visible){//for IE<=6
	var els = document.getElementsByTagName("select");
	if(els != null) {
		var s = visible ? "visible" : "hidden";
		var n = els.length;
		for (var i = 0; i < n; i++) {
			els[i].style.visibility = s;
		}
	}
}
function reSize(){
	reSize_(gPopFrame,true);
}
function reSize_(id,addEv){
//	var els=document.getElementsByTagName("iframe");
//	if(els.length==0) return;
//	var ifr=els[0];

	var ifr=document.getElementById(id);
	if (ifr && !window.opera){
		ifr.style.display=gDisabled?"block":"none";
		if (ifr.contentDocument && ifr.contentDocument.body && ifr.contentDocument.body.offsetHeight){ // firefox
			ifr.height = ifr.contentDocument.body.offsetHeight;
		}
		else if (ifr.Document && ifr.Document.body.scrollHeight) // ie5+
			ifr.height = ifr.Document.body.scrollHeight;
		if(addEv){
			addEvent(ifr, "load", reSizeIframe);
			centerPop();
		}else{
			//removeEvent(ifr, "load", reSizeIframe); // don't removeEvent for firefox
		}
	}
}
function reSizeIframe(loadEvt) {
	var evt=(window.event)? event : loadEvt;
	var root=(evt.currentTarget)?evt.currentTarget:evt.srcElement;
	if (root){
		reSize_(root.id,false);
	}
}
function addEvent(obj, evType, listener){
	if (obj.addEventListener){
		obj.addEventListener(evType, listener, false);
		return true;
	} else if (obj.attachEvent){// for ie5+
		obj.detachEvent("on"+evType, listener);
		return obj.attachEvent("on"+evType, listener);
	} else {
		return false;
	}
}
function removeEvent(obj, evType, listener, useCapture){
	if (obj.removeEventListener){
		obj.removeEventListener(evType, listener, useCapture);
		return true;
	} else if (obj.detachEvent){// for ie5+
		return obj.detachEvent("on"+evType, listener);
	} else {
		return false;
	}
}
function centerPop() {
	if(gDisabled){
		var ifr=document.getElementById(gPopMain);
		var w=ifr.offsetWidth;
		var h=ifr.offsetHeight;
		var fw=document.body.clientWidth;
		var fh=getClientHeight();//document.body.clientHeight;
		var left = (fw - w)/2;
		var top = (fh - h)/2;
		if(top<0) top=0;
		if(left + w > fw) left = fw - w;
		ifr.style.left = left+"px";
		ifr.style.top = top+"px";
	}
}
function getClientHeight(){
	var h=window.innerHeight?window.innerHeight:0;
	if(document.documentElement){
		var h2=document.documentElement.clientHeight;
		if(h2&&(!h || h>h2)){
			h=h2;
		}
	}
	if(document.body){
		var h3=document.body.clientHeight;
		if(h3&&(!h || h>h3)){
			h=h3;
		}
	}
	return h;
}

// manage tabpane
function tabChange(pos){
	var nextPos=(pos=="Left")?"Right":"Left";
	var el=document.getElementById("content"+nextPos);
	if (el!=null)
		el.style.display='none';
	el=document.getElementById("tab"+nextPos);
	if (el!=null)
		el.className='tab';
	document.getElementById("tab"+pos).className = 'tab selected';
	document.getElementById("content"+pos).style.display = 'block';
}

/* prettyPhoto */
$(document).ready(function(){
	$("a[rel^='prettyPhoto']").prettyPhoto({theme: 'dark_rounded'});
});
//$(document).ready(function(){
//	$(".gallery a[rel^='prettyPhoto']").prettyPhoto({theme: 'dark_rounded'});
////	code.init();
//});
// prettyGallery
//$(document).ready(function(){
//	$("ul.gallery").prettyGallery();
//});
