//
//  Functions "id & ip Romania"
//  Agachi Valentin
//

var brIE = ( /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent) );



// Other funcs

document.imgsw = new Array;
document.imgp = new Array;

function getObj(n, d) { 
	var p,i,x; if(!d) d=document; 
	if(!x && document.getElementById) { return document.getElementById(n); }
	if(!(x=d[n])&&d.all) { return d.all[n]; } 
	if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p); }
	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for (i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
	return x;
	
}

function ImgPre() {
	var d=document; 
	if(!d.imgp) d.imgp=new Array();
	var i, j=d.imgp.length, a=ImgPre.arguments; 
	for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0) { 
			d.imgp[j]=new Image; d.imgp[j++].src=a[i];
		}
}

function ImgS() {
	var i,j=document.imgsw.length,x,a=ImgS.arguments;
	for(i = 0; i < (a.length-1); i += 2) {
		if (typeof(a[i]) == 'string')	{
			x = getObj(a[i]);
		} else {
			x = a[i];
		}
		if (x != null) {
//			document.imgsw[j++]=x; 
			if (!x.oSrc) x.oSrc=x.src; 
			x.src=a[i+1];
		}
	}
	return false;
}

function ImgRest() {
  var i,x,a=document.imgsw;
	for (i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	document.imgsw = new Array;
}

function showLayer() {
  var i,p,v,obj,args=showLayer.arguments;
  for (i=0;i<(args.length-1);i+=2) 
		if ((obj=getObj(args[i]))!=null) { 
			v=args[i+1];
			if (obj.style) { 
				obj=obj.style; 
				v=(v=='show')?'block':(v='hide')?'none':v; 
			}
			obj.display=v; 
		}
}



/**
 * Location functions
 */

function go(link, target) {
	if (target == '_blank') {
		popup(link, 700, 550, 'go_win');
	} else {
		if (!target) {
			target = document;
		}
		target.location = link;
	}
}

function win_new(link, width, height) {
	var iw = width + 20;
	var ih = height + 28;
	var left = (screen.width - width) / 2;
	var top = (screen.height - height) / 2;
	var settings = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width='+width+',height='+height+',left='+left+',top='+top;
	icd = window.open(link, 'icd', settings);
	icd.focus();
}



/**
 * Forms stuff
 */

function get_checked_no(form, pre) {
	var c = 0;
	var f = getObj(form);
	for (i = 0; i < f.elements.length; i++) {
		a = f.elements[i];
		if ((a.type=='checkbox')&&(a.name.indexOf(pre)==0)&&(a.checked)) { c++; }
	}
	return c;
}

function update_submit(f) {
	var n = get_checked_no(f, 'del_');
	disabled = (n == 0);
	return (n == 0);
}

function check_uncheck(s, f) {
	var form = getObj(f);
	var o = getObj(s, getObj(f));
	o.checked = !o.checked;
	return update_submit(f);
}

function verify_checkboxes(form, pre, conf) {
	var c = get_checked_no(form, pre);
	if (c <= 0) return false;
	else return window.confirm(conf);
}

function form_check(elems) {
	for (i = 0; i < elems.length; i++) {
		o = getObj(elems[i]);
		if (o.value.length == 0) {
			alert('Nu ati completat formularul corect!');
			o.focus();
			return false;
		}
	}
	return true;
}



/**
 * Page onload functions handling
 */

var icd_onload_funcs=new Array();

function icd_onload_register(func) {
	if (func != null) {
		icd_onload_funcs[icd_onload_funcs.length] = func;
	}
}

function icd_onload() {
	for (i=0; i < icd_onload_funcs.length; i++) {
		icd_onload_funcs[i]();
	}
}



/**
 * Menu hover
 */

function loadLang(lang) {
	var c = frames['contents'];
	var s = c.document.location.toString();
	s = s.substr(0, s.length - 4) + '.newLang.' + lang + '.htm';
	alert(s);
	document.location = s;
}



function popupImg(sPath, sPicURL, sTitle) { 
	window.open(sPath+"lib/image.popup.htm?"+sPicURL+'?'+sTitle, "", "resizable=1,height=200,width=200"); 
}



/** 
 * Event handling
 */ 

function addEvent(el, eventName, func) {
	if (el.attachEvent) { // IE
		el.attachEvent("on" + eventName, func);
	} else if (el.addEventListener) { // Gecko / W3C
		el.addEventListener(eventName, func, true);
	} else {
		el["on" + eventName] = func;
	}
};

function delEvent(el, eventName, func) {
	if (el.detachEvent) { // IE
		el.detachEvent("on" + eventName, func);
	} else if (el.removeEventListener) { // Gecko / W3C
		el.removeEventListener(eventName, func, true);
	} else {
		el["on" + eventName] = null;
	}
};

function eventGetElement(ev) {
	if (brIE) {
		return window.event.srcElement;
	} else {
		return ev.currentTarget;
	}
};

/**
 * Menu hover
 */

var oPreloads = new Object();

function icdImgHover(ev) {
	var oImg = eventGetElement(ev);
	oImg.src = oPreloads['o' + oImg.id].src;
}
function icdImgNormal(ev) {
	var oImg = eventGetElement(ev);
	oImg.src = oPreloads['n' + oImg.id].src;
}

function icdImgSrcGetHover(sSrc) {
	var aSrc = sSrc.split('.');
	aSrc[aSrc.length] = aSrc[aSrc.length - 1];
	aSrc[aSrc.length - 2] = 'o';
	return aSrc.join('.');
}
function icdImgSrcGetNormal(sSrc) {
	var aSrc = sSrc.split('.');
	aSrc[aSrc.length - 2] = aSrc[aSrc.length - 1];
	aSrc[aSrc.length - 1] = null;
	return aSrc.join('.');
}

function icdImgButLoadArray(aImgs) {
	for (var i = 0; i < aImgs.length; i++) {
		if (aImgs[i].className.length) {
			if (/imgButHover/.test(aImgs[i].className)) {
				oPreloads['n' + aImgs[i].id] = new Image;
				oPreloads['n' + aImgs[i].id].src = aImgs[i].src;
				oPreloads['o' + aImgs[i].id] = new Image;
				oPreloads['o' + aImgs[i].id].src = icdImgSrcGetHover(aImgs[i].src);
				addEvent(aImgs[i], 'mouseover', icdImgHover);
				addEvent(aImgs[i], 'mouseout', icdImgNormal);
			}
			if (/imgButSelected/.test(aImgs[i].className)) {
				aImgs[i].src = icdImgSrcGetHover(aImgs[i].src);
			}
		}
	}
}

function icdImgButLoad() {
	if (document.getElementsByTagName) {
		var aImgs = document.getElementsByTagName('IMG');
	} else if (document.all) {
		var aImgs = document.all.tags('IMG');	
	}
	if (typeof(aImgs) != 'undefined') {
		icdImgButLoadArray(aImgs);
	}
	if (document.getElementById) {
		var aInputs = document.getElementsByTagName('INPUT');
	} else if (document.all) {
		var aInputs = document.all.tags('INPUT');	
	}
	if (typeof(aInputs) != 'undefined') {
		icdImgButLoadArray(aInputs);
	}
}
icd_onload_register(icdImgButLoad);

/* gallery preload */

function imgPreload() {
	if (document.getElementsByTagName) {
		var aImgs = document.getElementsByTagName('IMG');
	} else if (document.all) {
		var aImgs = document.all.tags('IMG');	
	}
	var re = new RegExp('^(.+)/upload/([^\.]+)_tmb\.(.+)$');
	if (typeof(aImgs) != 'undefined') {
		for (var i = 0; i < aImgs.length; i++) {
			if (aImgs[i].src.length) {
				s = aImgs[i].src;
				sNew = s.replace(re, '$1/upload/$2.$3');
				if (sNew != s) {
					ImgPre(sNew);
				}
			}
		}
	}
}
//icd_onload_register(imgPreload);

var aActive = 'news';
function initLayers() {
	var d = getObj('sideNav');
	if ((typeof(d) == 'undefined') || !d) return false;
	var a;
	for (var i = 0; i < d.childNodes[0].childNodes.length; i++) {
		if (d.childNodes[0].childNodes[i].nodeName == 'LI') {
			a = d.childNodes[0].childNodes[i].childNodes[0];
			attachEvent(a, 'mouseover', aOver);
		}
	}
}
icd_onload_register(initLayers);

function aOver(ev) {
	var o = eventGetElement(ev);
	var s = o.id.substring(1, o.id.length);
	if (aActive == s) return false;

	var l = getObj(s);
	getObj('news').className = 'hide';
	getObj('location').className = 'hide';
	getObj('shows').className = 'hide';
	l.className = '';
	o.className = 'active';
	getObj('A'+aActive).className = '';
	aActive = s;
}


/* dynamic form labels */
if (supportsDynamicLabels()) {
	document.writeln('<style type="text/css">');
	document.writeln('label.dynamic { display:none; }');
	document.writeln('</style>');
	icd_onload_register(setupLabels);
}

function setupLabels() {
	var objLabels = document.getElementsByTagName("label");
	var objField;

	for (var i = 0; i < objLabels.length; i++) {
		if ("dynamic" == objLabels[i].className) {
			objField = document.getElementById(objLabels[i].htmlFor);
			addEvent(objField, "focus", focusDynamicLabel);
			addEvent(objField, "blur", blurDynamicLabel);
			objField._labelText = objLabels[i].firstChild.nodeValue;
			objField.value = objField._labelText;
		}
	}

	for (var i = 0; i < document.forms.length; i++) {
		addEvent(document.forms[i], "submit", resetLabels);
	}
}

function resetLabels(event) {
	var elm = getEventSrc(event);
	var objLabels = elm.getElementsByTagName("label");
	var objField;

	for (var i = 0; i < objLabels.length; i++) {
		if ("dynamic" == objLabels[i].className) {
			objField = document.getElementById(objLabels[i].htmlFor);
			if (objField._labelText == objField.value) {
				objField.value = "";
			}
		}
	}
}

function focusDynamicLabel(event) {
	var elm = getEventSrc(event);
	if (elm._labelText == elm.value) {
		elm.value = "";
	}
}

function blurDynamicLabel(event) {
	var elm = getEventSrc(event);
	if ("" == elm.value) {
		elm.value = elm._labelText;
	}
}

function getEventSrc(e) {
	if (!e) e = window.event;

	if (e.originalTarget)
		return e.originalTarget;
	else if (e.srcElement)
		return e.srcElement;
}

function supportsDynamicLabels() {
	return document.getElementById && (window.attachEvent || window.addEventListener);
}
