function Link(_id, _imgOut, _imgOver) {
	this.id = _id;
	this.imgOut = _imgOut;
	this.imgOver = _imgOver;
	this.children = null;
}

Link.getOverImg = function(id) {
	var link;
	var childLink; 
	for (var i=0; i<myLinks.length; i++) {
		link = myLinks[i];		
		if (link.children!=null && link.children.length > 0) {
			for (var j=0; j<link.children.length; j++) {
				childLink = link.children[j];
				if (childLink.id==id) {
					return childLink.imgOver;
				}
			}
		}
		if (link.id==id) {  
			return link.imgOver;
		}
	}
	return null;
}
Link.getOutImg = function(id) {
	var link;
	var childLink;
	for (var i=0; i<myLinks.length; i++) {
		link = myLinks[i]; 
		if (link.children!=null && link.children.length > 0) {  	
			for (var j=0; j<link.children.length; j++) {
				childLink = link.children[j];
				if (childLink.id==id) {
					return childLink.imgOut;
				}
			}
		}
		if (link.id==id) { 
			return link.imgOut;
		}
	}
	return null;
}

Link.getLinkChildren = function(parentId) {
	var link;
	var childLink;
	for (var i=0; i<myLinks.length; i++) {
		link = myLinks[i];
		if (link.id==parentId) {
			return link.children;
		}
	}
	return null;
}

var myLinks = new Array(0);

function rollOverForSomeLinks(contextPath) {		
	var absPath = "http://" + location.host + contextPath + "/";
//	alert(absPath);
	var link;
	var ref;
	var childLink;
	var aux;
	
	link = new Link("bottom_corner_contact", "images/template/recomanda_but.png", "images/template/recomanda_but_o.png");
	myLinks.push(link);
	
	link = new Link("intraInGradina_0_RollOver", "KpK/images/h_gradina.jpg", "KpK/images/h_gradina_o.jpg");
	myLinks.push(link); 
	link = new Link("intraInGradina_1_RollOver", "KpK/images/h_gradina.jpg", "KpK/images/h_gradina_o.jpg");
	myLinks.push(link);
	link = new Link("intraInGradina_2_RollOver", "KpK/images/h_gradina.jpg", "KpK/images/h_gradina_o.jpg");
	myLinks.push(link);
	
	link = new Link("acumExersezi_RollOver", "images/acumconcurezi_exerseaza1.jpg", "images/acumconcurezi_exerseaza1_o.jpg");
	myLinks.push(link);
	
	link = new Link("acumConcurezi_RollOver", "images/acumconcurezi_exerseaza1.jpg", "images/acumconcurezi_exerseaza1_o.jpg");
	myLinks.push(link);
	
	link = new Link("butGo2_0_RollOver", "KpK/images/but_go.jpg", "KpK/images/but_go_o.jpg");
	myLinks.push(link);	
	// sunt doua, pt ca am vrut sa testez pe mai mult de un concurs activ
	link = new Link("butGo2_1_RollOver", "KpK/images/but_go.jpg", "KpK/images/but_go_o.jpg");
	myLinks.push(link);	
	
	link = new Link("glob_0_RollOver", "KpK/images/h_glob_n.jpg", "KpK/images/h_glob_o.jpg");
	myLinks.push(link);	
	link = new Link("glob_1_RollOver", "KpK/images/h_glob_n.jpg", "KpK/images/h_glob_o.jpg");
	myLinks.push(link);	
	link = new Link("glob_2_RollOver", "KpK/images/h_glob_n.jpg", "KpK/images/h_glob_o.jpg");
	myLinks.push(link);	
	
	// chestii din profil
	link = new Link("idCat_linkDiv", "images/carte_10.jpg", "images/carte_10_o.jpg");
	myLinks.push(link);
	link = new Link("avatarCat_linkDiv", "images/carte_20.jpg", "images/carte_20_o.jpg");
	myLinks.push(link);
	link = new Link("schoolCat_linkDiv", "images/carte_37.jpg", "images/carte_37_o.jpg");
	myLinks.push(link);
	link = new Link("adultsCat_linkDiv", "images/carte_40.jpg", "images/carte_40_o.jpg");
	myLinks.push(link);
	link = new Link("contestsCat_linkDiv", "images/carte_50.jpg", "images/carte_50_o.jpg");
	myLinks.push(link);
	
	link = new Link("g_gradina_img_RollOver", "images/g_gradina.png", "images/g_gradina_o.png");
	myLinks.push(link);
	
	link = new Link("g_duel_img_RollOver", "images/g_duel.png", "images/g_duel_o.png");
	myLinks.push(link);	
	
	link = new Link("recomanda_RollOver", absPath+"images/but_login.jpg", absPath+"images/but_login_o.jpg");
	myLinks.push(link);
	
	link = new Link("archiveTops_rollOver", absPath+"images/but_clasamente_vechi.png", absPath+"images/but_clasamente_vechi_o.png");
	myLinks.push(link);
	
	link = new Link("h_gc1_img_RollOver", absPath+"images/h_gc.jpg", absPath+"images/h_gc_o.jpg");
	myLinks.push(link);
	link = new Link("h_gc2_img_RollOver", absPath+"images/h_gc.jpg", absPath+"images/h_gc_o.jpg");
	myLinks.push(link);
	link = new Link("h_gc3_img_RollOver", absPath+"images/h_gc.jpg", absPath+"images/h_gc_o.jpg");
	myLinks.push(link);
	
	// capitole concurs 2
	link = new Link("ch1_rollOver", absPath+"images/buton_capitol_big_n.png", absPath+"images/buton_capitol_big_o.png");
	myLinks.push(link);
	link = new Link("ch2_rollOver", absPath+"images/buton_capitol_big_n.png", absPath+"images/buton_capitol_big_o.png");
	myLinks.push(link);

	// recompense
	link = new Link("recompense1_rollOver", absPath+"images/medalii/cufar_recompense_cn1.png", absPath+"images/medalii/cufar_recompense_cn1_o.png");
	myLinks.push(link);
	link = new Link("recompense2_rollOver", absPath+"images/medalii/cufar_recompense_oi1.png", absPath+"images/medalii/cufar_recompense_oi1_o.png");
	myLinks.push(link);
	link = new Link("recompense3_rollOver", absPath+"images/medalii/cufar_recompense_cn2.png", absPath+"images/medalii/cufar_recompense_cn2_o.png");
	myLinks.push(link);
	link = new Link("recompense4_rollOver", absPath+"images/medalii/cufar_recompense_55.png", absPath+"images/medalii/cufar_recompense_55_o.png");
	myLinks.push(link);
	link = new Link("recompense5_rollOver", absPath+"images/medalii/cufar_recompense_66.png", absPath+"images/medalii/cufar_recompense_66_o.png");
	myLinks.push(link);
	link = new Link("recompense6_rollOver", absPath+"images/medalii/cufar_recompense_77.png", absPath+"images/medalii/cufar_recompense_77_o.png");
	myLinks.push(link);
	link = new Link("recompense7_rollOver", absPath+"images/medalii/cufar_recompense_88.png", absPath+"images/medalii/cufar_recompense_88_o.png");
	myLinks.push(link);
	
	// meniu principal din header
	link = new Link("menuContestDiv", absPath+"images/header/meniupp_but_a.png", absPath+"images/header/meniupp_but_a_o.png");		 
	myLinks.push(link);	
	
	link = new Link("menuOrderDiv", absPath+"images/header/meniupp_but_a.png", absPath+"images/header/meniupp_but_a_o.png");		
	myLinks.push(link);	
		
	link = new Link("menuHallOfFameDiv", absPath+"images/header/meniupp_but_a.png", absPath+"images/header/meniupp_but_a_o.png");			
	myLinks.push(link);	
		
	link = new Link("menuChartsDiv", absPath+"images/header/meniupp_but_a.png", absPath+"images/header/meniupp_but_a_o.png");	 
	myLinks.push(link);	
	
	link = new Link("menuHelpDiv", absPath+"images/header/meniu_ico_h.png", absPath+"images/header/meniu_ico_h_o.png");
	myLinks.push(link);	
	
	link = new Link("menuForumDiv", absPath+"images/header/meniu_ico_f.png", absPath+"images/header/meniu_ico_f_o.png");
	myLinks.push(link);	
	
	link = new Link("menuRulesDiv", absPath+"images/header/meniu_ico_r.png", absPath+"images/header/meniu_ico_r_o.png");
	myLinks.push(link);
	
	link = new Link("headWinnersDiv", absPath+"images/castigatori_but.png", absPath+"images/castigatori_but_o.png");
	myLinks.push(link);
	
	// linkuri de pe noua prima pagina
	link = new Link("homeContestDiv_mate35", absPath+"images/contest/concurs_mate35.png", absPath+"images/contest/concurs_mate35_o.png");
	myLinks.push(link);
	link = new Link("homeContestDiv_mate36", absPath+"images/contest/concurs_mate36.png", absPath+"images/contest/concurs_mate36_o.png");
	myLinks.push(link);
	link = new Link("homeContestDiv_mate37", absPath+"images/contest/concurs_mate37.png", absPath+"images/contest/concurs_mate37_o.png");
	myLinks.push(link);
	link = new Link("homeContestDiv_mate38", absPath+"images/contest/concurs_mate38.png", absPath+"images/contest/concurs_mate38_o.png");
	myLinks.push(link);
	link = new Link("homeContestDiv_mate39", absPath+"images/contest/concurs_mate39.png", absPath+"images/contest/concurs_mate39_o.png");
	myLinks.push(link);
	link = new Link("homeContestDiv_mate40", absPath+"images/contest/concurs_mate40.png", absPath+"images/contest/concurs_mate40_o.png");
	myLinks.push(link);
	link = new Link("homeContestDiv_mate41", absPath+"images/contest/concurs_mate41.png", absPath+"images/contest/concurs_mate41_o.png");
	myLinks.push(link);
	link = new Link("homeContestDiv_quick", absPath+"images/contest/concurs_quick.png", absPath+"images/contest/concurs_quick_o.png");
	myLinks.push(link);

	// pagina de concurs
	link = new Link("contestPageAboutDiv", absPath+"images/contest_page/but_scandura_despre.png", absPath+"images/contest_page/but_scandura_despre_o.png");
	myLinks.push(link);
	link = new Link("contestPageChartDiv", absPath+"images/contest_page/but_scandura_clsm.png", absPath+"images/contest_page/but_scandura_clsm_o.png");
	myLinks.push(link);
	link = new Link("contestPageContentDiv", absPath+"images/contest_page/but_scandura_continut.png", absPath+"images/contest_page/but_scandura_continut_o.png");
	myLinks.push(link);
	link = new Link("contestPageMissionDiv", absPath+"images/contest_page/but_scandura_misiunea.png", absPath+"images/contest_page/but_scandura_misiunea_o.png");
	myLinks.push(link);
	
	link = new Link("contestPageGardenDiv", absPath+"images/contest_page/gradina_but.png", absPath+"images/contest_page/gradina_but_o.png");
	myLinks.push(link);
	link = new Link("contestPageGCSPDiv", absPath+"images/contest_page/gc_single_but.png", absPath+"images/contest_page/gc_single_but_o.png");
	myLinks.push(link);
	link = new Link("contestPageCh1Div", absPath+"images/contest_page/piatra1_but.png", absPath+"images/contest_page/piatra1_but_o.png");
	myLinks.push(link);
	link = new Link("contestPageCh2Div", absPath+"images/contest_page/piatra2_but.png", absPath+"images/contest_page/piatra2_but_o.png");
	myLinks.push(link);
	link = new Link("contestPageGCDiv", absPath+"images/contest_page/gc_normal_but.png", absPath+"images/contest_page/gc_normal_but_o.png");
	myLinks.push(link);
	link = new Link("contestPageGardenVoteDiv", absPath+"images/contest_page/vot_gradini_bg.png", absPath+"images/contest_page/vot_gradini_bg_o.png");
	myLinks.push(link);
	link = new Link("contestPageGlobeDiv", absPath+"images/contest_page/glob_but.png", absPath+"images/contest_page/glob_but_o.png");
	myLinks.push(link);	
	
	

	for (var i=0; i<myLinks.length; i++) {
		link = myLinks[i]; 		
		setEvents(link.id, link.children);
	}
}

function setEvents(id, children) { 
	ref = document.getElementById(id);
	if (ref!=null) {	
	//	if (ref.nodeType=="img")
//		alert(ref.nodeType);
		ref.onmouseover = function() {				
			if (Link.getOverImg(this.id) != null) {
				this.style.backgroundImage = "url(" + Link.getOverImg(this.id) + ")";
			}
			if (children!=null && children.length > 0) {
				for (var j=0; j<children.length; j++) {
					childLink = children[j];
					document.getElementById(childLink.id).style.backgroundImage = "url(" + Link.getOverImg(childLink.id) + ")";
				}
			}
		}
		ref.onmouseout = function() {
			if (Link.getOutImg(this.id) != null) {
				this.style.backgroundImage = "url(" + Link.getOutImg(this.id) + ")";
			}
			if (children!=null && children.length > 0) {
				for (var j=0; j<children.length; j++) {
					childLink = children[j];
					document.getElementById(childLink.id).style.backgroundImage = "url(" + Link.getOutImg(childLink.id) + ")";
				}
			}
		}			
	}
}

function setBackground(id) { 
	var children = Link.getLinkChildren(id);
	ref = document.getElementById(id);
	var bg = Link.getOverImg(id);
	if (ref!=null) {			
		if (bg != null) {
			ref.style.backgroundImage = "url(" + Link.getOverImg(id) + ")";
		}
		if (children!=null && children.length > 0) {
			for (var j=0; j<children.length; j++) { 
				childLink = children[j];
				document.getElementById(childLink.id).style.backgroundImage = "url(" + Link.getOverImg(childLink.id) + ")";
			}
		}
		
		ref.onmouseover = null;
		ref.onmouseout = null;	
		// in meniul de sus, pe elementul activ trebuie coloare alba la text (din cauza fundalului inchis) 
		if (id.indexOf('menu')>-1) { 
			ref.style.color = '#FFF';
		}
	}
}



// cookie functions ***********************************************
function getCookie(c_name) {
	if (document.cookie.length>0) { 
		//alert(document.cookie);
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1) { 
		  	c_start=c_start + c_name.length+1; 
		    c_end=document.cookie.indexOf(";",c_start);
		    if (c_end==-1) c_end=document.cookie.length;
		    return unescape(document.cookie.substring(c_start,c_end));
		} 
	}
	return "";
}

function setCookie(c_name, value, expiredays) {
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
// *******************

function singleClickLink(ref, url) {	 
	if (ref.nodeName != "A") return;		
	window.location.href = url; 	
	ref.onclick = function() {}
	wait = new YAHOO.widget.Panel("wait",  
				{ width:"240px", 
				  fixedcenter:true, 
				  close:false, 
				  draggable:false, 
				  zindex:4,
				  modal:true,
				  visible:false
				} 
			);

	wait.setBody('<center><img src="images/loading.gif" /></center>');
	wait.render(document.body);
	wait.show();
}

/* chestie necesara pt swf-urile din statistici */
function setStage(nWidth, nHeight) {	
	document.getElementById('myFlash').style.width = nWidth + "px";
	document.getElementById('myFlash').style.height = nHeight + "px";
}

function popupWindow(url) {
	var w = 550;
	var h = 400;
	var properties = "toolbar=0,status=0,location=0,menubar=0,resizable=0,width=550,height=400,left="+((screen.width-w)/2)+",top="+((screen.height-h)/2);
	window.open(url, "mywindow", properties);
}

/* String trim function.
Without the second parameter, Javascript function will trim these characters:
" " (ASCII 39 (0x20)), an ordinary space.
"\t" (ASCII 9 (0x09)), a tab.
"\n" (ASCII 10 (0x0A)), a new line (line feed).
"\r" (ASCII 13 (0x0D)), a carriage return.
"\0" (ASCII 0 (0x00)), the NUL-byte.
"\x0B" (ASCII 11 (0x0B)), a vertical tab. */
function trim(str, chars) {
	function ltrim(str, chars) {
		chars = chars || "\\s";
		return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
	} 
	function rtrim(str, chars) {
		chars = chars || "\\s";
		return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
	}
	return ltrim(rtrim(str, chars), chars);
}