var flashIntroScript = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" name="slide_show-wide" width="900" height="184" align="left" id="slide_show-wide"><param name="allowScriptAccess" value="sameDomain" /><param name="allowFullScreen" value="false" /><param name="movie" value="http://www.uop.edu.jo/Media/slide_show-wide.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#ffffff" /><embed src="http://www.uop.edu.jo/Media/slide_show-wide.swf" quality="high" wmode="transparent" bgcolor="#ffffff" width="900" height="184" name="slide_show-wide" align="left" allowscriptaccess="sameDomain" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
 //Switches the content of one div with the content of another div
    function SetContent(contentId, containerId)
    {
      var container = document.getElementById(containerId);
      var contentDiv = GetElementByTagAndIdName('DIV',contentId);
     // alert(content);
      if (!container || !contentDiv)
      {    
        return;
      }

      if (container.hasChildNodes)
      {
        container.innerHTML = "";
      }      
      
      var clone = contentDiv.cloneNode(true);
      clone.style.display = "block";  
      container.appendChild(clone);
      contentDiv.innerHTML = "";
    }
    //
    function GetElementByTagAndIdName(tagName, id)
    {
        var elements = document.getElementsByTagName(tagName);
        
        for(var i=0; i < elements.length; i++)
        {
            if(elements[i].id == id) return elements[i];
        }
        return null;
    }
///////////////////////////////////////////////////////////////
var dragger = null;
var ie=document.all;
var nn6=document.getElementById&&!ie;
function GetFirstParentWithAttribute(node, attribute)
{ 
  var topElement = nn6 ? "HTML" : "BODY";
  while (node && node != topElement && !node.getAttribute(attribute))
  {
    node = nn6 ? node.parentNode : node.parentElement;
  }
return node;
};
function Dragger(x, y, src)
{  
  this.x = x;
  this.y = y;
  this.originalX = parseInt(src.offsetLeft);
  this.originalY = parseInt(src.offsetTop);  
  this.src = src;
  this.src.style.position = 'absolute';
  this.src.onmousemove = moveMouse;
  this.src.onmouseup = new Function("dragger = null;");
  this.src.onmouseout=new Function("dragger = null;");
};
function Drag(e)
{
  var evt = e?e:window.event;
  var src = nn6 ? evt.target : evt.srcElement;
  
  src = GetFirstParentWithAttribute(src, "dragContainer");
  var x = nn6 ? evt.clientX : evt.clientX;
  var y = nn6 ? evt.clientY : evt.clientY;  
  dragger = new Dragger(x, y, src);  
};
function moveMouse(e)
{   
  if (dragger) 
  {    
    var evt = e?e:(window.event?event:null);   
    var src = evt.target?evt.target:evt.srcElement;    
    if (src.tagName != "INPUT")
    {      
      dragger.src.style.cursor = 'move';
      dragger.src.style.left = (dragger.originalX + evt.clientX - dragger.x)+'px';
      dragger.src.style.top  = (dragger.originalY + evt.clientY - dragger.y)+'px';    
      return false;
    }
  }
};


/**
 * DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("The date format should be : mm/dd/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
return true
}



//var ns4, op5, op6, mac, mac_ie;

//This function is used to sniff out problem browsers. The ones we need to know about are:
//
//    * Netscape Navigator 4.x (ns4): The most important test - NS4 does almost everything differently to the other browsers.
//    * Opera 5 (op5): Opera 5 lacks some of the functions that other browsers have. These include not being able to change an elements background colour and style class. Opera 5 also chokes when sizes and co-ordinates are set using the "px" suffix.
//    * Opera 6 (op6): Opera 6 only lacks the ability to change an elements style class.
//    * MSIE on the Mac (mac_ie): The problem with MSIE on the Mac is when you try to get the top co-ordinate of a table cell element. It incorrectly returns the top co-ordinate of the table element, not the table cell. To get round this, you have to base positioning on table row elements instead. Konqueror on Linux seems to have the opposite problem which adds to the fun.
//function sniffBrowsers() {
	var ns4 = document.layers;
	var op5 = (navigator.userAgent.indexOf("Opera 5")!=-1)||(navigator.userAgent.indexOf("Opera/5")!=-1);
	var op6 = (navigator.userAgent.indexOf("Opera 6")!=-1)||(navigator.userAgent.indexOf("Opera/6")!=-1);
	var agt=navigator.userAgent.toLowerCase();
	var mac = (agt.indexOf("mac")!=-1);
	var ie = (agt.indexOf("msie") != -1); 
	var mac_ie = mac && ie;
//}
//The function returns the style object for the three types of browsers.
function getStyleObject(objectId) {
	if(document.getElementById && document.getElementById(objectId)) {
		return document.getElementById(objectId).style;
	} else if (document.all && document.all(objectId)) {
		return document.all(objectId).style;
	} else if (document.layers && document.layers[objectId]) {
		return getObjNN4(document,objectId);
	} else {
		return false;
	}
} 
//The function hides or shows a page element.
//Example Usage:
// show an element
//changeObjectVisibility('myObjectId', 'visible');

// hide an element
//changeObjectVisibility('myObjectId', 'hidden');
function changeObjectVisibility(objectId, newVisibility) {
    var styleObject = getStyleObject(objectId, document);
    if(styleObject) {
	styleObject.visibility = newVisibility;
	return true;
    } else {
	return false;
    }
}
//This function is needed to find nested elements in a page.
function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}

function findImage(name, doc) {
	var i, img;
	for (i = 0; i < doc.images.length; i++) {
    	if (doc.images[i].name == name) {
			return doc.images[i];
		}
	}
	for (i = 0; i < doc.layers.length; i++) {
    	if ((img = findImage(name, doc.layers[i].document)) != null) {
			img.container = doc.layers[i];
			return img;
    	}
	}
	return null;
}
//The function getImage returns the object for "name".
function getImage(name) {
	if (document.layers) {
    	return findImage(name, document);
	}
	return null;
}
//The function return the width of an image.
function getImageWidth(myImage) {
	var x, obj;
	if (document.layers) {
		var img = getImage(myImage);
		return img.width;
	} else {
		return getElementWidth(myImage);
	}
	return -1;
}
//The function return the height of an image.
function getImageHeight(myImage) {
	var y, obj;
	if (document.layers) {
		var img = getImage(myImage);
		return img.height;
	} else {
		return getElementHeight(myImage);
	}
	return -1;
}
//The function return the y co-ordinate of an image.
function getImageTop(myImage) {
	var y, obj;
	if (document.layers) {
		var img = getImage(myImage);
		if (img.container != null)
			return img.container.pageY + img.y;
		else
			return img.y;
	} else {
		return getElementTop(myImage);
	}
	return -1;
}

//The functions return the x co-ordinate of an image.
function getImageLeft(myImage) {
	var x, obj;
	if (document.layers) {
		var img = getImage(myImage);
    	if (img.container != null)
			return img.container.pageX + img.x;
		else
			return img.x;
  	} else {
		return getElementLeft(myImage);
	}
	return -1;
}

//The functions return the x co-ordinate of an element.
function getElementLeft(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.pageX;
	} else {
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		xPos = elem.offsetLeft;
		tempEl = elem.offsetParent;
  		while (tempEl != null) {
  			xPos += tempEl.offsetLeft;
	  		tempEl = tempEl.offsetParent;
  		}
		return xPos;
	}
}

//The functions return the y co-ordinate of an element.
function getElementTop(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.pageY;
	} else {
		if(document.getElementById) {	
			var elem = document.getElementById(Elem);
		} else if (document.all) {
			var elem = document.all[Elem];
		}
		yPos = elem.offsetTop;
		tempEl = elem.offsetParent;
		while (tempEl != null) {
  			yPos += tempEl.offsetTop;
	  		tempEl = tempEl.offsetParent;
  		}
		return yPos;
	}
}

//The functions return the height of an object.
function getElementHeight(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.height;
	} else {
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) { 
			xPos = elem.style.pixelHeight;
		} else {
			xPos = elem.offsetHeight;
		}
		return xPos;
	} 
}

//The functions return the width of an object.
function getElementWidth(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.width;
	} else {
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) {
			xPos = elem.style.pixelWidth;
		} else {
			xPos = elem.offsetWidth;
		}
		return xPos;
	}
}

//Move the element "myObject" to screen co-ordinates x, y.
function moveXY(myObject, x, y) {
	obj = getStyleObject(myObject);
	if (ns4) {
		obj.top = y;
 		obj.left = x;
	} else {
		if (op5) {
			obj.pixelTop = y;
 			obj.pixelLeft = x;
		} else {
			obj.top = y + 'px';
 			obj.left = x + 'px';
		}	
	}
}

//Changes the Style Class of "Elem" to "myClass".
//NOTE: This function will not work in Opera 5 or 6, or Netscape 4.x.
function changeClass(Elem, myClass) {
	var elem;
	if(document.getElementById) {
		var elem = document.getElementById(Elem);
	} else if (document.all){
		var elem = document.all[Elem];
	}
	elem.className = myClass;
}

//Changes the source the source of "target" to "source".
function changeImage(target, source) {
	var imageObj;
	
	if (ns4) {
		imageObj = getImage(target);
		if (imageObj) imageObj.src = eval(source).src; 
	} else {
		imageObj = eval('document.images.' + target);
		if (imageObj) imageObj.src = eval(source).src; 
	}
}
//This function changes the element back ground color.
function changeBGColour(myObject, colour) {
	if (ns4) {
		var obj = getObjNN4(document, myObject);
		obj.bgColor=colour;
	} else {
		var obj = getStyleObject(myObject);
		if (op5) {
			obj.background = colour;	
		} else {
			obj.backgroundColor = colour;
		}	
	}
}

function IsMatch (id,elmpattern){   
    var regularExpression = new RegExp(elmpattern);
    if(id.match(regularExpression)) {return true;}
    else return false;
}

function IsHiddenField(hf)
{
    if(hf.type=='hidden')return true;
    return false;
}

var mapPosition = 0;

//This function return the page size with scroll
function getPageSizeWithScroll(){
	if (window.innerHeight && window.scrollMaxY) {// Firefox
		yWithScroll = window.innerHeight + window.scrollMaxY;
		xWithScroll = window.innerWidth + window.scrollMaxX;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		yWithScroll = document.body.scrollHeight;
		xWithScroll = document.body.scrollWidth;
	} else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
		yWithScroll = document.body.offsetHeight;
		xWithScroll = document.body.offsetWidth;
  	}
	arrayPageSizeWithScroll = new Array(xWithScroll,yWithScroll);
	
	return arrayPageSizeWithScroll;
}

//This function return the document size in an array (array[0]:documentWidth, array[1]:documentHeight)
function getDocumentSize()
{
    var pageSize= new Array(document.body.clientWidth, document.body.clientHeight);
    return pageSize;
}

//This function return the document width.
function getDocumentWidth()
{
    var _width = new String(document.body.clientWidth);
    return parseInt(_width.substring(0, _width.length-2));
}

//This function return the document height.
function getDocumentHeight()
{
    var _height = new String(document.body.clientHeight);
    return parseInt(_height.substring(0, _height.length-2));
}

//This function return client screen height
function getScreenHeight()
{
    return window.screen.height;
}

//This function return client screen width
function getScreenWidth()
{
    return window.screen.width;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//This function fire when window is resized
function resized()
{
    var pageSize = getDocumentSize();
    var screenHeight = getScreenHeight();
    var objMenu = document.all?document.all['OLmenu']:document.getElementById('OLmenu');
    var objDiv = document.all?document.all['mDiv1']:document.getElementById('mDiv1');
    if(objMenu){    
        objMenu.style.width = (pageSize[0]/4)+'px';
        objMenu.style.height = '100%';
        objMenu.style.left = '0px';
        if(document.all)
        {
            var elements = document.getElementById('masterdiv').getElementsByTagName('div');
            for(var i=0; i<elements.length; i++)
            {
                if(elements[i].className=='mDive')
                {
                    elements[i].style.width = (pageSize[0]/4)+'px';
                }
            }            
        }
       
    }
    var objMap = document.all?document.all['TrackMap']:document.getElementById('TrackMap');
    if(objMap)
    {
        objMap.style.width = ((pageSize[0]-(pageSize[0]/4)))+'px';
        if(screenHeight>=700 && screenHeight<=800){screenHeight=500;}else if(screenHeight>=500 && screenHeight<700){screenHeight = 400;}
        objMap.style.height = (screenHeight)+'px';
        if(!document.all&&document.getElementById)
            {
                objMap.style.left = (10+(pageSize[0]/3))+'px';
                mapPosition = Math.round(12+(pageSize[0]/4));
            }
        else 
            {
                objMap.style.left = '0px';
            }   
    }
}
function showMousePosition(elem, evt)
{
    var evet = evt?evt:event;
    var docTitle = document.getElementsByTagName('TITLE')[0];
    var mousePosition = document.all? document.all['txtMousePosition']:document.getElementById('txtMousePosition');
    var x,y;
    if(!document.all&&document.getElementById)//Firefox
    {
        x = evet.pageX;
        y = evet.pageY;
    }
    else //IE
    {
        x = evet.offsetX;
        y = evet.offsetY;
    }
    if(!document.all&&document.getElementById){mousePosition.innerHTML = ' X:' + (x-mapPosition)  + ', Y:' + (y-22) ;}else {mousePosition.innerHTML = ' X:' + (x)  + ', Y:' + (y) ;}
    
    return false;
}

// add page to favorites (NS, Firefox, Opera)
function addtoFavorites()
{    
    if (window.sidebar)
    {
        window.sidebar.addPanel(document.title, location.href, "");
    }
}
// tab control script API
var oldTabActive;
function setTab(id, tab)
{
  
	var allTab = document.getElementById('tabContainer').getElementsByTagName('span');
	tab.className = 'activTab';
  
	if(oldTabActive.id != tab.id){oldTabActive.className='tabItem'; oldTabActive = document.getElementById(tab.id);}
	if(allTab)
	{
		for(var tabItem=0; tabItem<allTab.length; tabItem++)
		{
			if(allTab[tabItem].id == id)
				allTab[tabItem].className = 'tabcontent';
			else
				allTab[tabItem].className = 'distabcontent';
		}
	}
	//alert("Height: "+getElementHeight("tabContainer")+" Width: "+ getElementWidth("tabContainer")+" Top:" + getElementTop("tabContainer")+" Left:" + getElementLeft("tabContainer"));
}
/////////////////////////
function displayMenu(evt,ID) {

  var str = "";
  evt = (evt) ? evt : event;
  var elm = (evt.target) ? evt.target : evt.srcElement;
 
  menuLayer = document.all?document.all[ID]:document.getElementById (ID);
  
  if (nav4) { // Navigator 4.0x<FONT color=#0000cc>
      XPosition= evt.pageX;
      
      YPosition= evt.pageY;
  } else { // Internet Explorer 4.0x<FONT color=#0000cc>
      XPosition=  (evt.clientX + document.body.scrollLeft);
      
      YPosition= (evt.clientY + document.body.scrollTop);
  }
  
  if( menuLayer.style.display=='none' )
      {
      	menuLayer.style.left = evt.offsetX ?(evt.offsetX+100):(""+(XPosition + 5)+"px");
		menuLayer.style.top  = evt.offsetY ?(YPosition-evt.offsetY):(""+(YPosition -5)+"px");
	    menuLayer.style.display = "block";
     }
}
var myInterval;
function toHideReportMenu()
{
  myInterval = window.setInterval("hideMenu()",2500);
}
function hideMenu()
{
    menuLayer = document.all?document.all["reportMenu"]:document.getElementById ("reportMenu");
    menuLayer.style.display="none";
}
function imageLoader(imgURL)
{
    var img = new Image();
    img.src = imgURL;
    return img;
}
function closeAdvertise()
{
    var targetImage = document.getElementById('targetImage');
    if(targetImage)targetImage.style.display='none';
    var btnClose = document.getElementById('btnClose');
    if(btnClose)btnClose.style.display ='none';
    var imgLoadeing = document.getElementById('imgLoadeing');
    if(imgLoadeing)imgLoadeing.style.display='block';
    var imagePlaceHolder = document.getElementById('imagePlaceHolder');
    if(imagePlaceHolder)
    with(imagePlaceHolder.style)
    {
        display='none'; 
        width='100px'; 
        height='100px';
    }
}
var title;
var title2;
function advertise(elm,imgPath,clickURL, advTitle,clickURL2,advTitle2)
{
    var elmPositionX = getElementLeft(elm.id);
    var elmPositionY = getElementTop(elm.id);
    var advertiseDiv = document.all?document.all["imagePlaceHolder"]:document.getElementById("imagePlaceHolder");
    if(advTitle)title = advTitle; else title = "";
    if(advTitle2)title2 = advTitle2; else title2 = "";
    if(advertiseDiv)
    {
        if(advertiseDiv.style.display == "none")
        {
            if(!imgPath)
            {
                if(elmPositionX>300)advertiseDiv.style.left = "100px";
                else advertiseDiv.style.left = (elmPositionX+20)+"px";
                if(elmPositionY>300)advertiseDiv.style.top = (elmPositionY/2)+"px";
                else advertiseDiv.style.top = (elmPositionY-30)+"px";            
                advertiseDiv.style.display = "block";
                showAdvertise();
            }
            else
            {
                
                advertiseDiv.style.left = "200px";
                advertiseDiv.style.top = "40px";   
                advertiseDiv.style.display = "block";
                if(clickURL){
                    if(clickURL2)showAdvertise(imgPath,clickURL,clickURL2);
                    else showAdvertise(imgPath,clickURL);
                }
                else showAdvertise(imgPath);
            }
        }
    }
}
function showAdvertise(imgPath,clickURL,clickURL2){
if(!imgPath)imgPath='http://www.uop.edu.jo/images/MIS.gif';
var loadedImage = new Image();
var clickURL = clickURL;
var clickURL2 = clickURL2;
loadedImage = imageLoader(imgPath);

var imgLoadeing = document.all?document.all["imgLoadeing"]:document.getElementById("imgLoadeing");
var targetImage = document.all?document.all["targetImage"]:document.getElementById("targetImage");
var imagePlaceHolder = document.all?document.all["imagePlaceHolder"]:document.getElementById("imagePlaceHolder");
var btnClose = document.all?document.all["btnClose"]:document.getElementById("btnClose");
var accessLink = document.all?document.all["accessLink"]:document.getElementById("accessLink");
var lnkEmployee = document.all?document.all["lnkEmployee"]:document.getElementById("lnkEmployee");
var lnkAdvir2 = document.all?document.all['lnkAdvir2']:document.getElementById('lnkAdvir2');
var advirTitle = document.all?document.all["advirTitle"]:document.getElementById("advirTitle");
var loadStatus = false;
var myInterval = window.setInterval(function(){if(loadedImage.complete==true){if(imgLoadeing && targetImage){imgLoadeing.style.display='none';var divImagePlaceHolderResizeInterval = window.setInterval(function(){var divWidth = false;var divHeight = false;if(getElementWidth(imagePlaceHolder.id)<loadedImage.width)imagePlaceHolder.style.width= (getElementWidth(imagePlaceHolder.id)+1)+"px";else divWidth = true;if(getElementHeight(imagePlaceHolder.id)<=(loadedImage.height+5))imagePlaceHolder.style.height = (getElementHeight(imagePlaceHolder.id)+1)+"px";else divHeight = true;if(divWidth && divHeight){targetImage.src = loadedImage.src;targetImage.style.display='block'; imagePlaceHolder.style.width = (getElementWidth(imagePlaceHolder.id)+5)+'px';  if(clickURL){accessLink.style.display='block'; lnkEmployee.href=clickURL;if(clickURL2){lnkAdvir2.href=clickURL2}; if(advirTitle && title){advirTitle.innerHTML = ''; advirTitle.style.display='block';} };window.clearInterval(divImagePlaceHolderResizeInterval);btnClose.style.display = "block";}},50);};window.clearInterval(myInterval);}},500);
}
