// --------------------------
// COMMON COOKIE FUNCTIONS
// --------------------------
function SetCookie(name,value,expires,path,domain,secure) 
{
    var cookieString = name + "=" +escape(value) + 
       ( (expires) ? ";expires=" + expires : "") + 
       ( (path) ? ";path=" + path : "") + 
       ( (domain) ? ";domain=" + domain : "") + 
       ( (secure) ? ";secure" : ""); 
    document.cookie = cookieString; 
}
function GetCookie(name) 
{
   var start = document.cookie.indexOf(name+"="); 
   var len = start+name.length+1; 
   if ((!start) && (name != document.cookie.substring(0,name.length))) return ""; 
   if (start == -1) return ""; 
   var end = document.cookie.indexOf(";",len); 
   if (end == -1) end = document.cookie.length; 
   return unescape(document.cookie.substring(len,end)); 
}
// --------------------------
//  POPUP FUNCTION
//  Needs to be updated
// --------------------------
function PopUp(url, name, width,height,center,resize,scroll,posleft,postop) {
    if (posleft != 0) { x = posleft }
    if (postop  != 0) { y = postop  }
    if (!scroll) { scroll = 1 }
    if (!resize) { resize = 1 }
    if ((parseInt (navigator.appVersion) >= 4 ) && (center)) {
      X = (screen.width  - width ) / 2;
      Y = (screen.height - height) / 2;
    }
    if (scroll != 0) { scroll = 1 }
    var Win = window.open( url, name, 'width='+width+',height='+height+',top='+Y+',left='+X+',resizable='+resize+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no');
    Win.focus();
}


// --------------------------
// CONTRACTIBLE HEADERS
// --------------------------
var cname = name + "collapse";

function togSec(item)
{
       // Refresh Get Cookies
     if (GetCookie(cname)) { CIDlist = GetCookie(cname); } else { CIDlist = ""; }

       // Expand contract section
    if (CIDlist.match(item + "-")) {
        document.images [item+"_img"].src = status_close.src;
        document.getElementById(item+'_div').style.display = "block";
        var str = item + "-";
                CIDlist = CIDlist.replace(str, "");
    } else {
                document.images [item+"_img"].src = status_open.src;
        document.getElementById(item+'_div').style.display = "none";
        CIDlist = CIDlist + item + "-";
    };

       // Save Settings
    SetCookie(cname,CIDlist,expires,path,domain);
}

// -----------------------------
//  DROPDOWN MENU 
// -----------------------------

function PosX(obj){
	var curleft = 0;
	if (obj.offsetParent)	{
		while (obj.offsetParent)		{
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	} else if (obj.x) {
		curleft += obj.x;
        }
	return curleft;
}

function PosY(obj){
	var curtop = 0;
	if (obj.offsetParent)	{
		while (obj.offsetParent)		{
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	} else if (obj.y) {
		curtop += obj.y;
        }
	return curtop;
}
var menu_current;
var parent_current;
function showMenu (p,tid,align,loc) {
    var t = document.getElementById(tid);
    if (t.style.visibility == 'visible') {
        menu_current.style.visibility = 'hidden';
        menu_current = false;
        parent_current = false;
    } else {
        if (menu_current) {
            menu_current.style.visibility = 'hidden';
        }
        var offsetX = PosX(p);
        var offsetY = PosY(p);
        // IE fixes
        // if (navigator.userAgent.toLowerCase().indexOf('msie') + 1) {
            offsetX += 1;
            offsetY += 1;
        // }
        // Align left, right, or center to the parent
        if (align == "left") {
            offsetX = offsetX;
        } else if (align == "center") {
            offsetX = offsetX - ((t.offsetWidth - p.offsetWidth)/2);
        } else if (align == "right") {
            offsetX = offsetX - (t.offsetWidth - p.offsetWidth);
        }
        // Open up or Down
        if (loc == "above") {
            offsetY = offsetY - t.offsetHeight;
        } else if (loc == "below") {
            offsetY = offsetY + p.offsetHeight;
        }
        t.style.top  = Math.round(offsetY) + 'px';
        t.style.left = Math.round(offsetX) + 'px';
        t.style.visibility = 'visible';
        menu_current = t;
        parent_current = p;
        document.onclick = hideMenu;
    }
}

function hideMenu(e) {
    if (menu_current) {
        var t = menu_current;
        var p = parent_current;
        var pX = PosX(p);
        var pY = PosY(p);
        var tX = PosX(t);
        var tY = PosY(t);
        var cX = 0;
        var cY = 0;
    	if (!e) var e = window.event;
        if (e.pageX || e.pageY) 	{
            cX = e.pageX;
            cY = e.pageY;
        } else if (e.clientX || e.clientY) 	{
            cX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
            cY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
        }
        if ( !( cX > tX && cX < (tX+t.offsetWidth) && cY > tY && cY < (tY+t.offsetHeight) ) &&    // Target
             !( cX > pX && cX < (pX+p.offsetWidth) && cY > pY && cY < (pY+p.offsetHeight) ) ) {   // Parent
            t.style.visibility = 'hidden';
            menu_current = false;
            parent_current = false;
        }
    }
}


/******************************DropdownDatePicker Script Start**********************************/

/******************************
OO-based DropdownDatePicker 
By: Glenn G. Vergara glenngv@yahoo.com Philippines

Please make this intact if you want to use this script. Thanks!
Customised for iF by 'Eidolon'
******************************/


function DropdownDatePicker(month, day, year, hasLeadingZero){
	var me = this;
	this.month = month;
	this.day = day;
	this.year = year;
	if (hasLeadingZero==null || typeof hasLeadingZero=="undefined") hasLeadingZero=false;
	this.hasLeadingZero = hasLeadingZero;
	this.setWeekend = false;
	
	this.populateDate = function(){
		var dSelYear = me.year.options[me.year.selectedIndex].value;
		var dSelMonth = me.month.options[me.month.selectedIndex].value;
		var timeA = new Date(dSelYear,dSelMonth,1); //get date of first day of next month
		var timeDifference = timeA - 86400000; //subtract 1 day
		var timeB = new Date(timeDifference);
		var daysInMonth = timeB.getDate();
		prevDaysInMonth = me.day.options.length;
		if (daysInMonth < prevDaysInMonth){	//current month's days < previous month's
			if (me.day.selectedIndex>=daysInMonth-1){
				me.day.selectedIndex = daysInMonth-1;	//select last day of the current month if previous month's selected day is > current month's
			}
			me.day.options.length = daysInMonth;
   		}
   		else if (daysInMonth > prevDaysInMonth){	//current month's days > previous month's
			var sDay;
			for (var i = prevDaysInMonth; i < (daysInMonth); i++) {
				sDay = ((i+1)<10 && me.hasLeadingZero)?"0"+(i+1):i+1;
				me.day.options[i] = new Option(sDay,sDay);
			}		
	    	}

	}

	this.setDisplayYears = function(fromYear, toYear){
		me.year.options.length=0;
		for (var i=fromYear;i<=toYear;i++){
			me.year.options[i-fromYear] = new Option(i,i);
		}
	}

	//set default date
	this.setDefaultDate = function(defaultDate){
		if (defaultDate==null || typeof defaultDate=="undefined" || isNaN(defaultDate)){
			defaultDate = new Date();
		}
		me.month.options[defaultDate.getMonth()].selected = true;		//select default month
		me.day.options[defaultDate.getDate()-1].selected = true;		//select default day
		//select default year
		for (var i=0;i<me.year.options.length;i++){
			if (me.year.options[i].value==defaultDate.getFullYear()){
				me.year.selectedIndex = i;
				break;
			}
		};
		me.month.onchange();
		me.year.onchange();
	}

	
	//set onchange handler
	var monthChange = this.month.onchange;
	if (monthChange){
		this.month.onchange = function(){
			me.populateDate();
			monthChange();
		}
	}
	else{
		this.month.onchange = this.populateDate;
	};

	var yearChange = this.year.onchange;
	if (yearChange){
		this.year.onchange = function(){
			me.populateDate();
			yearChange();
		}
	}
	else{
		this.year.onchange = this.populateDate;	
	}

	//default values, if in case these were not set on initialization
	var today = new Date();
	this.setDisplayYears(today.getFullYear()-100, today.getFullYear()); //this year up to 100 years
	//this.setDefaultDate(today); //today's date
	
}

// CUSTOMISE PER USE - First one for general, second for registration (different form id)
var datePicker1;

function initDatePicker(){
	var f = document.getElementById('REPLIER');
	var today = new Date();
	datePicker1 = new DropdownDatePicker(f.month, f.day, f.year);
	//datePicker1.setDefaultDate();
}

var datePicker2;

function RegDatePicker(){
	var f = document.getElementById('REG');
	var today = new Date();
	datePicker2 = new DropdownDatePicker(f.month, f.day, f.year);
	datePicker2.setDefaultDate(today);
}
/*******************************DatePicker End****************************************/



// --------------------------
//  MISCELLANEOUS
// --------------------------

function IF_goToURL() {
  var i, args=IF_goToURL.arguments; document.IF_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}   

function copyright() {
var now         = new Date();
var year        = now.getYear();
if (year < 1900){
year = year + 1900;
}
return year;
}