﻿// JScript File
// Add and Remove event functions
function addEventSimple(obj,evt,fn) {
	if (obj.addEventListener)
		obj.addEventListener(evt,fn,false);
	else if (obj.attachEvent)
		obj.attachEvent('on'+evt,fn);
}

function removeEventSimple(obj,evt,fn) {
	if (obj.removeEventListener)
		obj.removeEventListener(evt,fn,false);
	else if (obj.detachEvent)
		obj.detachEvent('on'+evt,fn);
}

//initialize
addEventSimple(window,'load',externalLinks);

// basic popup window function
function popUp(url, w, h, scroll) {
    var w = (w == null) ? 800 : w;
    var h = (h == null) ? 600 : h;
    var scroll = (scroll == null) ? 1 : scroll;
    var newwindow = window.open(url,'extWin','height=' + h + ',width=' + w + ',scrollbars=' + scroll + ',resizable=1,menubar=1,status=1,toolbar=1,location=1,personalbar=1');
    if (newwindow.focus) {
	    newwindow.focus()
    }
    return false;
}

function closePopUp(win) {
    window.close(win);
}

function removeAllLinks() {

    var hrefArray = document.getElementsByTagName('a');

    for (var i=0; i<hrefArray.length; i++)  {
	var href = hrefArray[i].getAttribute("href");
	if(href && href != "" && href != null){		
      	hrefArray[i].setAttribute('href_bak', href);
	}
      hrefArray[i].removeAttribute('href');
           
    }
}

//any links with rel="external" will call popup window
//if popup blocker is installed it will open in current window
function externalLinks() {
	var x = document.getElementsByTagName('a');
	for (var i=0;i<x.length;i++) {
		if (x[i].getAttribute("href") &&
            x[i].getAttribute("rel") == "external") {
            if ( x[i].id == 'printStyle' ) {
                x[i].onclick = function () {
				    return popUp(this.href, 600, 600, 0)
			    }
			} else {
			    x[i].onclick = function () {
				    return popUp(this.href)
			    }
			}
			x[i].title += x[i];
		}
	}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function rtrim ( s ){
   return s.replace ( /\s*$/, "" );
}

function checkmaxlength(obj){
    var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
    if (obj.getAttribute && obj.value.length>mlength)
    obj.value=obj.value.substring(0,mlength)
}

function isDate(reminderMonth, reminderDay, reminderYear) {
    var retVal = true;
    
    if ((reminderMonth > 12) ||  (reminderDay > 31)) {
        retVal = false;
    }
    
    if ((reminderMonth==4 || reminderMonth==6 || reminderMonth==9 || reminderMonth==11) && reminderDay==31) {
   
        retVal = false;
    }

    if (reminderMonth == 2) { // check for february 29th
        var isleap = (reminderYear % 4 == 0 && (reminderYear % 100 != 0 || reminderYear % 400 == 0));
        if (reminderDay > 29 || (reminderDay==29 && !isleap)) {
            retVal = false;
        }
    }
    
    return retVal;
}

function isDateNoYear(valMonth, valDay) {
    var retVal = true;
    
    if (valMonth=='' || valDay=='') {
       retVal = false;
    }
    
    if ((valMonth==4 || valMonth==6 || valMonth==9 || valMonth==11) && valDay==31) {
   
        retVal = false;
    }

    if (valMonth == 2 && valDay > 29) { // check for february 29th
        retVal = false;
    }
    
    return retVal;
}

function testPhone(phone1, phone2, phone3) {
    var retVal = true;
    
    if (phone1.length !=0 || phone2.length !=0 || phone3.length !=0) {
	    
	    if ( !(/^\d{3}$/.test(phone1))){
    	
            retVal = false;
	     }
	     else if ( !(/^\d{3}$/.test(phone2))){
    	
	        retVal = false;
	     }
	     
	     else if ( !(/^\d{4}$/.test(phone3))){
    	
	        retVal = false;
	     }
	 }
    
    return retVal;
}
