// JavaScript Document

var req = null

function Menu(ID, AppPath) {
    // Create variables
    var req = initXMLHttpClient();
  	var url=AppPath + "/_code/scrpt/Menu.aspx?zone=" + ID;
    var a = document.getElementById("subNav")
    
    // Lets monitor the HttpRequestObject
    req.onreadystatechange = function() {
    if (req.readyState == 4) {
        if (req.status == 200) {
   	        var b=""
	        b=req.responseText
	        a.innerHTML = b
        } else {
            alert('Loading Error: ['+req.status+'] ' +req.statusText);
        }
        }
    }
    req.open('GET', url, true);    
    req.send(null);
}

function initXMLHttpClient() {
    var xmlhttp;
    try {
    // Mozilla / Safari / IE7
        xmlhttp = new XMLHttpRequest();
    } catch (e) {
    
    // IE
    var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP' );
    var success = false;
    for (var i=0;i < XMLHTTP_IDS.length && !success; i++) {
        try {
            xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]);
            success = true;
            } catch (e) {}
          }
          if (!success) {
              throw new Error('Unable to create XMLHttpRequest.');
          }
     }
     return xmlhttp;
}

function CheckDate(dd, mm, yyyy, PorF) {

    if(dd==0) {
        return false;
    }
    
    if(mm==0) {
        return false;
    }
    
    if(yyyy==0) {
        return false;
    }
    
    var lastday=MonthEnd(mm)
    if(dd>lastday) {
        return false;
    }
    
    var dt=new Date();
    var today=new Date();
    
    dt.setFullYear(yyyy,mm-1,dd);
    
    if (PorF==1) { //date must be in the future
        if(dt<today) {
            return false;
        }
    }
    else if (PorF==0)// date must be in the past
    {
        if(dt>today) {
            return false;
        }
    }
    
    return true;
}

function MonthEnd(m) {
	if(m==2) {
		return 28;
	}

	if(m==4) {
		return 30;
	}

	if(m==6) {
		return 30;
	}

	if(m==9) {
		return 30;
	}

	if(m==11) {
		return 30;
	}
	
	return 31;
}

function ValidateDate(m, d) {
	if (m==2) {
		if (d>28) {
			return false;
		}
	}
	
	if (m==4) {
		if (d>30) {
			return false;
		}
	}

	if (m==6) {
		if (d>30) {
			return false;
		}
	}
	if (m==9) {
		if (d>30) {
			return false;
		}
	}
	if (m==11) {
		if (d>30) {
			return false;
		}
	}
	
	return true;
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
  //code example
  //onclick="MM_goToURL('parent','index.aspx');return document.MM_returnValue
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
  // code example
  // onclick="MM_openBrWindow('index.aspx','setup','width=600,height=600')"
}

function MenuRollover(ID, ClassName) {
    var a=document.getElementById(ID);
    a.className=ClassName;
}

function MainMenuBck(ID, bgColor) {
    var a=document.getElementById(ID);
    a.style.backgroundColor=bgColor;
}

function escapeVal(textarea,replaceWith){ 
//textarea is reference to that object, replaceWith is string that will replace the encoded return
    var a = escape(textarea.value) //encode textarea string's carriage returns

    for(i=0; i<a.length; i++){ 
//loop through string, replacing carriage return encoding with HTML break tag

    if(a.indexOf("%0D%0A") > -1){ 
//Windows encodes returns as \r\n hex
    a=a.replace("%0D%0A",replaceWith)
    }
    else if(a.indexOf("%0A") > -1){ 
//Unix encodes returns as \n hex
    a=a.replace("%0A",replaceWith)
    }
    else if(a.indexOf("%0D") > -1){ 
//Macintosh encodes returns as \r hex
    a=a.replace("%0D",replaceWith)
    }

    }

    a=unescape(a) //unescape all other encoded characters
    return a;
}

function PageLoad() {
    var a = document.getElementById("hlp");
    a.style.display="none";
}

function BookmarkThisSite(url,title){
  if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) {
  window.external.AddFavorite(url,title);
  } else if (navigator.appName == "Netscape") {
    window.sidebar.addPanel(title,url,"");
  } else if (navigator.appName == "FireFox") {
    window.sidebar.addPanel(title,url,"");
  } else {
    alert("Press CTRL-D (Netscape) or CTRL-T (Opera) to bookmark");
  }
}

function DivDisplayStatus(Obj, Status) {

    var a = document.getElementById(Obj);
    a.style.display=Status;
}

/* Custom variables */

/* Offset position of tooltip */
var x_offset_tooltip = 10;
var y_offset_tooltip = 0;

/* Don't change anything below here */

var ajax_tooltipObj = false;
var ajax_tooltipObj_iframe = false;

var ajax_tooltip_MSIE = false;
if(navigator.userAgent.indexOf('MSIE')>=0)ajax_tooltip_MSIE=true;

function ajax_showTooltip(externalFile,inputObj)
{
	if(!ajax_tooltipObj)	/* Tooltip div not created yet ? */
	{
		ajax_tooltipObj = document.createElement('DIV');
		ajax_tooltipObj.style.position = 'absolute';
		ajax_tooltipObj.className = 'help';
		ajax_tooltipObj.id = 'ajax_tooltipObj';		
		document.body.appendChild(ajax_tooltipObj);

		
		//var leftDiv = document.createElement('DIV');	/* Create arrow div */
		//leftDiv.className='ajax_tooltip_arrow';
		//leftDiv.id = 'ajax_tooltip_arrow';
		//ajax_tooltipObj.appendChild(leftDiv);
		
		//var contentDiv = document.createElement('DIV'); /* Create tooltip content div */
		//contentDiv.className = 'ajax_tooltip_content';
		//ajax_tooltipObj.appendChild(contentDiv);
		//contentDiv.id = 'ajax_tooltip_content';
		
		if(ajax_tooltip_MSIE){	/* Create iframe object for MSIE in order to make the tooltip cover select boxes */
			ajax_tooltipObj_iframe = document.createElement('<IFRAME frameborder="0">');
			ajax_tooltipObj_iframe.style.position = 'absolute';
			ajax_tooltipObj_iframe.border='0';
			ajax_tooltipObj_iframe.frameborder=0;
			ajax_tooltipObj_iframe.style.backgroundColor='#FFF';
			ajax_tooltipObj_iframe.src = 'about:blank';
			ajax_tooltipObj.appendChild(ajax_tooltipObj_iframe);
			ajax_tooltipObj_iframe.style.left = '0px';
			ajax_tooltipObj_iframe.style.top = '0px';
		}

			
	}
	// Find position of tooltip
	ajax_tooltipObj.style.display='block';
	var a = document.getElementById('ajax_tooltipObj');
	a.innerHTML='Hello peeps';
	if(ajax_tooltip_MSIE){
		ajax_tooltipObj_iframe.style.width = ajax_tooltipObj.clientWidth + 'px';
		ajax_tooltipObj_iframe.style.height = ajax_tooltipObj.clientHeight + 'px';
	}

	ajax_positionTooltip(inputObj);
}

function ajax_positionTooltip(inputObj)
{
	var leftPos = (ajaxTooltip_getLeftPos(inputObj) + inputObj.offsetWidth);
	var topPos = ajaxTooltip_getTopPos(inputObj);
	
	/*
	var rightedge=ajax_tooltip_MSIE? document.body.clientWidth-leftPos : window.innerWidth-leftPos
	var bottomedge=ajax_tooltip_MSIE? document.body.clientHeight-topPos : window.innerHeight-topPos
	*/
	var tooltipWidth = document.getElementById('ajax_tooltipObj').offsetWidth +  document.getElementById('ajax_tooltipObj').offsetWidth; 
	// Dropping this reposition for now because of flickering
	//var offset = tooltipWidth - rightedge; 
	//if(offset>0)leftPos = Math.max(0,leftPos - offset - 5);
	
	ajax_tooltipObj.style.left = leftPos + 'px';
	ajax_tooltipObj.style.top = topPos + 'px';	
	
	
}

function ajax_hideTooltip()
{
	ajax_tooltipObj.style.display='none';
}

function ajaxTooltip_getTopPos(inputObj)
{		
  var returnValue = inputObj.offsetTop;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
  }
  return returnValue;
}

function ajaxTooltip_getLeftPos(inputObj)
{
  var returnValue = inputObj.offsetLeft;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
  }
  return returnValue;
}