
g_el = function(el) { return document.getElementById(el); };
// get element position
function g_elP(elemID){
	var offsetTrail = document.getElementById(elemID);
	var offsetLeft = 0;
	var offsetTop = 0;
	while(offsetTrail){
		offsetLeft += offsetTrail.offsetLeft;
		offsetTop += offsetTrail.offsetTop;
		offsetTrail = offsetTrail.offsetParent;
	}
	if(navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined"){
		offsetLeft += document.body.leftMargin;
		offsetTop  += document.body.topMargin;
	}
	return {left: offsetLeft, top: offsetTop};
}




// =============================================================================//
//																		SUB MENU 2																//
// =============================================================================//

var sm1CntName = 'sm1Children_';

function sm1_Open(id){
	var chEl = g_el(sm1CntName + id);
	if(chEl){
		var className = chEl.className;
		
		if(className == 'subMenu1_Children_visible')
			chEl.className = 'subMenu1_Children_hidden';
		else
			chEl.className = 'subMenu1_Children_visible';
	}
}


// SUB MENU 2
var sm2CntName = 'sm2Children_';
var sm2_OutRef = null;
var sm2_top = parseInt(4);
var sm2_left = parseInt(-2);

function sm2_VertInOut(el, dir){
	if(dir == 'over'){
		el.className = el.className.replace('out', 'over');
		if(sm2_OutRef != null)
			clearTimeout(sm2_OutRef);
		for(var i = 0; i < sm2LevelCount; i++){
			var cnt = g_el(sm2CntName + i);
			if(cnt)
				cnt.className = cnt.className.replace('visible', 'hidden');
		}
		var el2 = g_el(sm2CntName + 1);
		var els = el2.getElementsByTagName('DIV');
		var hasChildren = false;
		for(var i = 0; i < els.length; i++){
			if(els[i].id.split('_')[2] == el.id.split('_')[1]){
				hasChildren = true;
				els[i].className = (sm2_isSelected(els[i].id.split('_')[3])) ? 'subMenu2_Dyn_Item_sel_out' : 'subMenu2_Dyn_Item_out';
			}
			else
				els[i].className = 'subMenu2_Dyn_Item_hidden';
		}
		if(hasChildren){
			var pos = g_elP(el.id);
			el2.style.top = pos.top + sm2_top;
			el2.style.left = pos.left + el.offsetWidth + sm2_left;
			el2.className = el2.className.replace('hidden', 'visible');
		}
	}
	else{
		el.className = el.className.replace('over', 'out');
		sm2_OutRef = setTimeout('sm2_Clear()', 600);
	}
}

function sm2_isSelected(id){
	var res = false;
	for(var i = 0; i < sm2Levels.length; i++){
		if(sm2Levels[i] == id){
			res = true;
			break;
		}
	}
	return res;	
}

function sm2_VertClick(el){
	sm2_Clear();
	var els = el.getElementsByTagName('A');
	if(els.length > 0){
		window.location.href = els[0].href;
	}
}

function sm2_VertDynClick(el){
	sm2_Clear();
	var els = el.getElementsByTagName('A');
	if(els.length > 0){
		window.location.href = els[0].href;
	}
}

function sm2_Clear(){
	for(var i = 0; i < sm2LevelCount; i++){
		var cnt = g_el(sm2CntName + i);
		if(cnt)
			cnt.className = cnt.className.replace('visible', 'hidden');
	}
}

function sm2_DynInOut(el, dir){
	var props = el.id.split('_');
	var level = props[1];
	var pid   = props[2];
	var id    = props[3];
	
	if(dir == 'over'){
		if(sm2_OutRef != null)
			clearTimeout(sm2_OutRef);
			
		el.className = el.className.replace('out', 'over');
		

		for(var i = level + 1; i < sm2LevelCount; i++){
			var cnt = g_el(sm2CntName + i);
			if(cnt)
				cnt.className = cnt.className.replace('visible', 'hidden');
		}
		var el2 = g_el(sm2CntName + (parseInt(level) + 1));
		var els = el2.getElementsByTagName('DIV');
		var hasChildren = false;
		for(var i = 0; i < els.length; i++){
			if(els[i].id.split('_')[2] == el.id.split('_')[3]){
				hasChildren = true;
				els[i].className = (sm2_isSelected(els[i].id.split('_')[3])) ? 'subMenu2_Dyn_Item_sel_out' : 'subMenu2_Dyn_Item_out';
			}
			else
				els[i].className = 'subMenu2_Dyn_Item_hidden';
		}
		if(hasChildren){
			var pos = g_elP(el.id);
			el2.style.top = pos.top + sm2_top;
			el2.style.left = pos.left + el.offsetWidth + sm2_left;
			el2.className = el2.className.replace('hidden', 'visible');
		}

	}
	else{
		sm2_OutRef = setTimeout('sm2_Clear()', 600);
		el.className = el.className.replace('over', 'out');
	}
}

// =============================================================================//
//																END	SUB MENU 2																//
// =============================================================================//








// =============================================================================//
//																LOGIN FUNCTIONALITY														//
// =============================================================================//

function isEmail(elID){
	var res = false;
	var el = g_el(elID);
	if(el){
		var re = /^(?:[a-zA-Z0-9_'^&/+-])+(?:\.(?:[a-zA-Z0-9_'^&/+-])+)*@(?:(?:\[?(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))\.){3}(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\]?)|(?:[a-zA-Z0-9-]+\.)+(?:[a-zA-Z]){2,}\.?)$/;
		if(el.value.match(re))
			res = true;
	}
	return res;
}

function TrimString(sInString) {
  sInString = sInString.replace( /^\s+/g, "" );// strip leading
  return sInString.replace( /\s+$/g, "" );// strip trailing
}



// =============================================================================//
//																END LOGIN FUNCTIONALITY												//
// =============================================================================//