/**
 * 
 */
var myTools = (function(){
	return{
		$: function(v){
			if(typeof(v)== 'string') return document.getElementById(v);
			else return v;
		},
		addArrayItem: function(aN, v){
			aN.push(v);
			return this;
		},
		addEvent: function(o, t, f){
			if(o.attachEvent){
				o['e'+t+f] = f;
				o[t+f] = function(){o['e'+t+f](window.event);};
				o.attachEvent('on'+t, o[t+f]);
			}
			else{
				o.addEventListener(t, f, false);
			}
		},
		addObjectItem: function(o, oN, v){
			o[oN] = v;
			return this;
		},
		getArrayItemIndex: function (aN, itm) {
            var ret = 0;
            
            len = aN.length;
            if (len > 0) {
                for (var i = 0; i < len; i++) {
                    if (aN[i] == itm) {
                        ret = i;
                        break;
                    }
                }
            }
            
            return ret;
        },
		isReady: function(){
			try{
				if(myTools.ready.done) return false;
				if(document && document.getElementsByTagName && document.getElementById && document.body){
					clearInterval(myTools.ready.timer);
					myTools.ready.timer = null;
					
					for(var i=0; i<myTools.ready.length; i++){
						myTools.ready.ready[i]();
					}
					
					myTools.ready.ready = null;
					myTools.ready.done = true;
				}
			}catch(ex){
				return;
			}
		},
		ready: function(f){
			try{
				if(myTools.ready.done) return f();
				if(myTools.ready.timer) myTools.ready.ready.push(f);
				else{
					myTools.addEvent(window, "load", myTools.isReady);
					myTools.ready.ready = [f];
					myTools.ready.timer = setInterval(myTools.isReady, 13);
				}
			}catch(ex){
				return;
			}
		},
		removeEvent: function(o, t, f){
			if(o.detachEvent){
				o.detachEvent('on'+type, o[t+f]);
				o[t+f] = null;
			}
			else{
				o.removeEventListener(t, f, false);
			}
		}
		
	};
})();
var myNav=(function(){
	var nav = [];
	
	function getItems(v){
		var items, len, fn;
		
		try{
			items = v.getElementsByTagName('li');
			len = items.length;
			
			if(len > 0){
				for(var i=0; i<len; i++){
					switch(items[i].className){
						case 'nav1': case 'nav2lsts': case 'nav3lsts': case 'nav4lsts':
							myTools.addEvent(items[i], 'mousedown', function(sender){
								var itm, nxtItm;
								
								itm = this;
								nxtItm = itm.nextElementSibling;
								if(!nxtItm) nxtItm = itm.nextSibling;
								debugger;
								if(nxtItm){
									if(itm.className != nxtItm.className){
										if(nxtItm.attributes != null){
											if(nxtItm.style.display == "none") nxtItm.style.display = "";
											else {
												nxtItm.style.display = "none";
											}
										}
									}
								}
							});
							break;
					}
				}
			}
		}catch(ex){
			return;
		}
		
		return items;
	}
	
	return{
		init: function(v){
			var elm, obj;
			
			try{
				elm = myTools.$(v);
				obj = new Object();
				
				obj['items'] = getItems(elm);
				
			}catch(ex){
				return;
			}
		}
	};
})();
var myComboBox = (function(){
	function onHoverCmbBtn(btn){
		var _src = '';
		
		switch(btn){
			case 'up': _src = 'fileadmin/templates/RPT/images/bImg10.png'; break;
			case 'down': _src = 'fileadmin/templates/RPT/images/bImg09.png'; break;
		}
		myComboBox.ImageBtn.src = _src;
	}
	function populateItems(cmb, txtb, opth){
		var optns, len, obj, _li, _ul, lsts;
		var cmb, txtb, opth;
		
		try{
			
			cmb = myComboBox.comboItem;
			opth = myComboBox.comboOptHolder;
			txtb = myComboBox.comboTxtBox;
			
			optns = cmb.options;
			len = optns.length;
			
			if(len > 0){
				lsts = [];
				
				for(var i=0; i<len; i++){
					optn = optns[i];
					
					obj = new Object();
					myTools.addObjectItem(obj, 'text', optn.text)
						   .addObjectItem(obj, 'index', optn.index)
						   .addObjectItem(obj, 'value', optn.value);
					
					myTools.addArrayItem(lsts, obj);
				}
				myComboBox.lists = new Object();
				
				_ul = document.createElement('ul');
				len = lsts.length;
				for(var i=0; i<len; i++){
					_li = document.createElement('li');
					_li.innerHTML = lsts[i]['text'];
					
					myTools.addObjectItem(myComboBox.lists, lsts[i]['text'], new Object())
						   .addObjectItem(myComboBox.lists[lsts[i]['text']], 'index', lsts[i]['index'])
						   .addObjectItem(myComboBox.lists[lsts[i]['text']], 'value', lsts[i]['value']);
					
					myTools.addEvent(_li, 'click', function(){
						var itm, txtBx, opth, cmb, idx;
						
						itm = this;
						cmb = myComboBox.comboItem;
						txtbx =myComboBox.comboTxtBox;
						opth = myComboBox.comboOptHolder;
						
						idx = myComboBox.lists[itm.innerHTML]['index'];
						cmb.options.selectedIndex = idx;
						
						txtbx.value = itm.innerHTML;
						opth.style.display = 'none';
						
						document.location.href = 'index.php?id=' + myComboBox.getSelectedValue();
					});
					
					_ul.appendChild(_li);
				}
				
				opth.appendChild(_ul);
			}
		}catch(ex){
			
		}
	}
	function triggerBtnEvents(typ){
		var idx, curIdx, cmb, txtbx, maxIdx;
		
		try{
			cmb = myComboBox.comboItem;
			txtbx =myComboBox.comboTxtBox;
			curIdx = cmb.selectedIndex;
			maxIdx = cmb.options.length - 1;
			
			switch(typ){
				case 'up':
					idx = curIdx - 1;
					if(idx < 0) idx = 0;
					break;
				case 'down':
					idx = curIdx + 1;
					if(idx > maxIdx) idx = maxIdx;
					break;
			}
			
			cmb.selectedIndex = idx;
			txtbx.value = myComboBox.getSelectedText();
			
			debugger;
			document.location.href = 'index.php?id=' + myComboBox.getSelectedValue();
			
		}catch(ex){}
	}
	
	return{
		attachBtnEvents: function(upBtn, downBtn, img){
			var _upBtn, _downBtn, btns = [];
			
			try{
				img = myTools.$(img);
				myComboBox.ImageBtn = img;
				
				if(upBtn) {
					_upBtn = myTools.$(upBtn);
					myTools.addEvent(_upBtn, 'click', function(){
						triggerBtnEvents('up');
					});
					
					myTools.addEvent(_upBtn, 'mouseover', function(){
						onHoverCmbBtn('up');
					});
					
					myTools.addEvent(_upBtn, 'mouseout', function(){
						myComboBox.ImageBtn.src = 'fileadmin/templates/RPT/images/bImg08.png';
					});
				}
				
				if(downBtn) {
					_downBtn = myTools.$(downBtn);
					myTools.addEvent(_downBtn, 'click', function(){
						triggerBtnEvents('down');
					});
					
					myTools.addEvent(_downBtn, 'mouseover', function(){
						onHoverCmbBtn('down');
					});
					
					myTools.addEvent(_downBtn, 'mouseout', function(){
						myComboBox.ImageBtn.src = 'fileadmin/templates/RPT/images/bImg08.png';
					});
				}
				
				
				
			}catch(ex){
				return;
			}
		},
		init: function(cmb, txtb, opth){
			try{
				myComboBox.comboItem = myTools.$('cmbLang');
				myComboBox.comboOptHolder = myTools.$('cmbHOptnHldr');
				myComboBox.comboTxtBox = myTools.$('txtLang');
				
				if(!myComboBox.isPopulated) {
					populateItems();
					myComboBox.isPopulated = true;
				}
				else myComboBox.isPopulated = false;
				
				myTools.addEvent(myComboBox.comboTxtBox, 'click', function(){
					var optH;
					
					optH = myComboBox.comboOptHolder;
					if(optH.style.display == '') optH.style.display = 'none';
					else optH.style.display = '';
				});
			}catch(ex){
				return;
			}
			return this;
		},
		getSelectedIndex: function(){
			return myComboBox.comboItem.selectedIndex;
		},
		getSelectedValue: function(){
			return myComboBox.comboItem.options[myComboBox.getSelectedIndex()].value;
		},
		getSelectedText: function(){
			return myComboBox.comboItem.options[myComboBox.getSelectedIndex()].text;
		}
	};
})();
var myHeaderImage = (function(){
	function onHoverImage(img){
		var imgUrl;
		
		try{
			imgUrl = null;
			pntr = null;
			if(img) imgUrl = (myHeaderImage.imgTyp == 1)? 'hTxt1':'hTxt2';
			
			switch(img.id){
				case 'profileSystems':
					imgUrl += '_1h.png';
					break;
				case 'steelLine':
					imgUrl += '_2h.png';
					break;
				case 'profileServices':
					imgUrl += '_3h.png';
					break;
			}
			myHeaderImage.imgLink.src = 'fileadmin/templates/RPT/images/' + imgUrl;
		}catch(ex){
			return;
		}
	}
	
	return{
		init: function(img, ids, typ){
			var _links, elm, len, _img;
			
			try{
				elm = null;
				_links = eval(ids);
				_img = myTools.$(img);
				
				myHeaderImage.links = _links;
				myHeaderImage.imgLink = _img;
				myHeaderImage.imgLinkNS = _img; 
				myHeaderImage.imgTyp = typ || 1;
				
				len = _links.length;
				if(len > 0){
					for(var i=0; i<len; i++){
						elm = myTools.$(_links[i]);
						myTools.addEvent(elm, 'mouseover', function(){
							var itm = this;
							onHoverImage(itm);
						});
						
						myTools.addEvent(elm, 'mouseout', function(){
							var imgUrl = (myHeaderImage.imgTyp == 1)? 'hTxt1.png':'hTxt2.png';
							myHeaderImage.imgLink.src = 'fileadmin/templates/RPT/images/' + imgUrl;
						});
					}
				}
			}catch(ex){
				return;
			}
		}
	};
})();


