/*
** Semipro JS Module 0.1
** Easy To Use
** Supported by http://www.semipro.ir
** 2008/8/11
*/

var NS6 = (!document.all && document.getElementById); 
var IE = (document.all);
var NS4 = (document.layers);

function findid(id){
	if ((typeof (id) == 'object')) return id;
	try {
		psel = (NS6) ? document.getElementById(id) : (NS4) ? document.layers(id) : document.all(id);
	}catch (exception){
		alert(exception.description);
		psel = null;
	}
	return psel;
}
//------------------------------------------------------------------------------------------------------
function getOpacity(obj){
	var val = 100;
	var TheObj = findid(obj);
	if (IE)
		val = TheObj.filters.alpha.opacity;
	else if(TheObj.style.opacity != undefined)
		val = TheObj.style.opacity = val / 100;

	return val;
}
function setOpacity(obj,val){
	var TheObj = findid(obj);
	if (IE)
		try  {TheObj.filters.alpha.opacity = val;} catch (exception) {return false;}
		
	else if(TheObj.style.opacity != undefined)
		TheObj.style.opacity = val / 100;
	else 
		return false;
	
	return true;
}
//------------------------------------------------------------------------------------------------------
function getTop(elm) {
	elm =(typeof (elm) == 'object') ? elm : findid(elm);
	if (typeof (elm) != 'object') return 0;
	var mOffsetTop = elm.offsetTop;
	var mOffsetParent = elm.offsetParent;
	while(mOffsetParent != null) {
		mOffsetTop += mOffsetParent.offsetTop;
		mOffsetParent = mOffsetParent.offsetParent;
	}
	
	return mOffsetTop;
}
function getLeft(elm) {
	elm =(typeof (elm) == 'object') ? elm : findid(elm);
	var mOffsetLeft = elm.offsetLeft;
	var mOffsetParent = elm.offsetParent;
	while(mOffsetParent != null) {
		mOffsetLeft += mOffsetParent.offsetLeft;
		mOffsetParent = mOffsetParent.offsetParent;
	}
	return mOffsetLeft;
}
function getRight(elm){
	var width = (elm.offsetWidth ) ? parseInt(elm.offsetWidth) : 0;
	return getLeft(elm) + width;
}
//------------------------------------------------------------------------------------------------------
function moveTo (obj,pX,pY,style){ //style ('absolute','relative')
	if (!style) style="absolute";
	obj = findid(obj);
	obj.style.position = style;
	obj.style.left = pX;
	obj.style.top = pY;
}
//------------------------------------------------------------------------------------------------------
function showHide(cSh,cSi,DisShowHideable){
	var cShObj = (typeof (cSh) == 'object') ? cSh : findid(cSh);
	var cSiObj = (typeof (cSi) == 'object') ? cSi : findid(cSi);
	iscSi= (cSi != null) ? true : false ;
	  if(cShObj.style.display == 'none'){
			cShObj.style.display = '';
			if (iscSi) cSiObj.style.display = 'none';
		}else if (!DisShowHideable){
			cShObj.style.display = 'none';
			if (iscSi) cSiObj.style.display = '';
		}
}
////////////************
function ShowingMnu(IDs,opacity,Max,speed){
	if (!setOpacity(IDs,opacity)) return;
	if (speed==null) speed=5;
	if (Max==null) Max=90;
	opacity+=10;
	newOpa = opacity;
	theObj=IDs;
	if (opacity<=Max)
		setTimeout("ShowingMnu(theObj,newOpa)",speed);
	else
		setOpacity(IDs,Max)
}
function ShowMnu(This,Items){
	var top = getTop(This) + 35;
	var left = (IE) ? window.event.x-100 : getRight(This)-202;
	moveTo (Items,left,top);
	ShowingMnu(Items,0);
	showHide(Items,null,true);
}
var HideMnuInterval;
function HideMnu(ID,Sec){
	clearInterval(HideMnuInterval);
	if (Sec==null) Sec=100;
	IDv=ID;
	HideMnuInterval=setInterval("HideMnuNow(IDv)",Sec);
}
function HideMnuNow(ID){
	clearInterval(HideMnuInterval);
	findid(ID).style.display = 'none';
}
//------------------------------------------------------------------------------------------------------
function ShowMe(Title, Key,shID){
	if (shID==null) shID = "DarkGrayDiv";
	findid(shID+'Title').innerHTML = Title;
	findid(shID).style.display = '';
	SimpleLoad(Key,shID+"Text");
}




