/***
	Generic JavaScript functions.
	(Comments to lukas.vacovsky@jkd.co.uk)
***/

var	dom	= document.getElementById ?	true:false;
var	ie	= document.all ? true:false;
var	saf = (navigator.userAgent.toLowerCase().indexOf("safari")!=-1);
var	opr = (navigator.userAgent.toLowerCase().indexOf("opera")!=-1);
var img_init = false;
var currentSyn = false;
var pageCode = false;
var hasCSS = false;
var timer;

function im_preload( img_obj, img_src ) {
	if ( document.images ) {
		eval( img_obj + ' = new Image()' );
		eval( img_obj + '.src = "' + img_src + '"' );
		}
	}
function im_change( layer, img_name, img_obj ) {
	if (img_init){
		if ( document.images ) {
			if ( document.layers && layer != null ) eval( 'document.layers["' + layer + '"].document.images["' + img_name + '"].src = ' + img_obj + '.src');
			else if (document.images[img_name]) document.images[ img_name ].src = eval( img_obj + ".src" );
			}
		}
	}
function img_change( layer, img_name, img_obj ) {
	im_change(layer,img_name,img_obj);
	if (img_obj.indexOf("on")!=-1){
		im_change(null, 'preview', img_obj+'_preview');
		if (ie || saf){
			syn_change(img_name);
		} else {
			clearTimeout(timer);
			timer = setTimeout("syn_change('"+img_name+"')",200);
//			syn_change(img_name)
		}
	} else{
		im_change(null, 'preview', 'm0_on_preview');
		if (ie || saf){
			syn_change("m0");
		} else {
			clearTimeout(timer);
			timer = setTimeout("syn_change('m0')",200);
//			syn_change('m0')
		}
	}
}
function syn_change(img_name){
	objLeft = (document.getElementById("m1")) ? findPosX(document.getElementById("m1")) : 0;
	objLeft = (document.getElementById("h1")) ? findPosX(document.getElementById("h1")) : objLeft;
	if (currentSyn) currentSyn.style.display = "none";
	if (pageCode && document.getElementById(img_name+"s"+pageCode)) {
		document.getElementById(img_name+"s"+pageCode).style.marginLeft = objLeft+"px";
		document.getElementById(img_name+"s"+pageCode).style.display = "block";
		currentSyn = document.getElementById(img_name+"s"+pageCode);
	}
}
function syn_refresh(){
	if (document.getElementById("m1")){
		objLeft = (document.getElementById("m1")) ? findPosX(document.getElementById("m1")) : 0;
		if (currentSyn) {
			currentSyn.style.marginLeft = objLeft+"px";
		}
	} else{
		syn_change("m0");
	}
}
function findPosX(obj){
	var curleft = 0;
	if (opr){ curleft = parseInt((document.body.offsetWidth-750)/2); }
	if (obj.offsetParent && !saf){
		while (obj.offsetParent){
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x) curleft += obj.x;
	return curleft;
}
function eventHandler(e){
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
	if (!targ.id) targ.id = targ.childNodes[0].id;
	if (e.type=="mouseover" || e.type=="focus")	img_change(null,targ.id,targ.id+'_on');
	else img_change(null,targ.id,targ.id+'_off');
}
function eventInit(){
/*
	check for CSS;
	if (CSS available) use scripting
	else don't bother;
*/
	if (ie) hasCSS = (document.styleSheets && document.styleSheets[0] && document.styleSheets[0].rules && document.styleSheets[0].rules[0] && document.styleSheets[0].rules[0].style) ? true : false;
	else hasCSS = (document.styleSheets && document.styleSheets[0] && document.styleSheets[0].cssRules && document.styleSheets[0].cssRules[0] && document.styleSheets[0].cssRules[0].style) ? true : false;
	if (opr) hasCSS = true; // let opera always use scripting
//	alert(hasCSS); 
	if(hasCSS){
		for(i=1;i<7;i++){
			if (document.getElementById("m"+i)) {
				document.getElementById("m"+i).parentNode.onfocus = eventHandler;
				document.getElementById("m"+i).parentNode.onblur = eventHandler;
				document.getElementById("m"+i).parentNode.onmouseover = eventHandler;
				document.getElementById("m"+i).parentNode.onmouseout = eventHandler;
			}
		}
		if (window.preload_img) preload_img();
		syn_change("m0");
	}
}
window.onresize = syn_refresh;
window.onload = eventInit;

/************ GOOGLE - IE Yellow Inputs *********/
  if(window.attachEvent)
    window.attachEvent("onload",setListeners);

  function setListeners(){
    inputList = document.getElementsByTagName("INPUT");
    for(i=0;i<inputList.length;i++){
      inputList[i].attachEvent("onpropertychange",restoreStyles);
      inputList[i].style.backgroundColor = "";
    }
    selectList = document.getElementsByTagName("SELECT");
    for(i=0;i<selectList.length;i++){
      selectList[i].attachEvent("onpropertychange",restoreStyles);
      selectList[i].style.backgroundColor = "";
    }
  }
  function restoreStyles(){
    if(event.srcElement.style.backgroundColor != "")
      event.srcElement.style.backgroundColor = "";
  }
  function openPopup(page){
	var myWidth = 504; var _width = 0; var centered_width = 0; _width = screen.availWidth;
	var myHeight = 460; var _height = 0; var centered_height = 0; _height = screen.availHeight;
	if (_width>myWidth) centered_width = (_width-myWidth)/2;
	if (_height>myHeight) centered_height = (_height-myHeight)/2;
	viewer = window.open(page,"viewer","top="+centered_height+",left="+centered_width+",status=yes,scrollbars=yes,menubar=no,resizable=yes,width="+myWidth+",height="+myHeight);
	viewer.focus();
  }