/*
	NAIFA scripts
	Developed by Langfeldesigns
*/


/* --- Popup window functions --- */

// Fixed popup window
function popup(URL, width, height) {
	popWin = window.open(URL, "popWin", "width=" + width + ",height=" + height + ",resizable=0,scrollbars=0,location=0,toolbar=0");
	popWin.focus();
	return false;
}

// Resizable and scrollable popup window
function popupResize(URL, width, height) {
	popWin = window.open(URL, "popWin", "width=" + width + ",height=" + height + ",resizable=1,scrollbars=1,location=0,toolbar=0");
	popWin.focus();
	return false;
}


/* --- Display enhancements --- */


var userbox, passbox;

// Hide login box labels
function loginBoxes() {

	// User Name
	if (document.getElementById("username")) {
		userbox = document.getElementById("username");

		// Hide usename label when focused

		// Hide label
		userbox.onfocus = function() {
			document.getElementById("userlabel").style.visibility = "hidden";
		}

		// Show label
		userbox.onblur = function() {
			if (this.value == "") document.getElementById("userlabel").style.visibility = "visible";
		}
	}


	// Password
	if (document.getElementById("password")) {
		passbox = document.getElementById("password");

		// Hide password label when focused

		// Hide label
		passbox.onfocus = function() {
			document.getElementById("passlabel").style.visibility = "hidden";
		}

		// Show label
		passbox.onblur = function() {
			if (this.value == "") document.getElementById("passlabel").style.visibility = "visible";
		}
	}


	// Set overlapping styles and hide functions on labels

	// Username
	if (document.getElementById("userlabel")) {

		// Hide when clicked
		document.getElementById("userlabel").onclick = function() {
			if (userbox) userbox.focus();
		}
	}

	// Password
	if (document.getElementById("passlabel")) {

		// Hide when clicked
		document.getElementById("passlabel").onclick = function() {
			if (passbox) passbox.focus();
		}
	}


	// Show labels after delay (for browser auto-fill)
	self.setTimeout('showLoginLabels()', 300);

}


// After delay, show labels and set properties on them (to account for browser auto-fill)
function showLoginLabels() {

	// Make labels visible

	// User Name
	if (userbox && userbox.value == "")
		document.getElementById("userlabel").style.visibility = "visible";

	// Password
	if (passbox && passbox.value == "")
		document.getElementById("passlabel").style.visibility = "visible";

}



// Alternate data table rows
function tableRows() {
	var evenodd, tables, rows;

	tables = document.getElementsByTagName("table");

	for (var i = 0; i < tables.length; i++)
		// If a "data" table
		if (tables[i].className.indexOf("data") >= 0) {
			rows = tables[i].getElementsByTagName("tr");
			evenodd = "dataeven";

			// Traverse each row
			for (var j = 0; j < rows.length; j++)

				// Check for at least one data cell in row (skip header rows)
				if (rows[j].getElementsByTagName("td").length > 0) {
					evenodd = (evenodd == "dataeven") ? "dataodd" : "dataeven";

					// Insert/append new class name
					rows[j].className += (rows[j].className == null) ? evenodd : (rows[j].className == "dataodd" || rows[j].className == "dataeven") ? "" : " " + evenodd;
				}
		}
}


// Toggle the menu lengths
function WM_toggle(id){
	if (document.all) {
		if (document.all[id].style.display == 'none') {
			document.all[id].style.display = '';
		} else {
			document.all[id].style.display = 'none';
		}
		return false;

	} else if (document.getElementById) {
		if (document.getElementById(id).style.display == 'none'){
			document.getElementById(id).style.display = 'block';
		} else {
			document.getElementById(id).style.display = 'none';
		}
		return false;
	}
}



/* --- Page initialization --- */

// Add function to any event handler
function addEvent(obj, evType, fn) {

	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, true);
		return true;
	} else if (obj.attachEvent) {
		var r = obj.attachEvent('on' + evType, fn);
		return r;
	} else
		return false;
}

// Run all onload functions
if (document.getElementById) {
	addEvent(window, 'load', loginBoxes);
	addEvent(window, 'load', tableRows);
}

function breakout_of_frame()
{
  if (top.location != location) {
    top.location.href = document.location.href ;
  }
}

//form validation
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 YY_checkform() { //v4.71
//copyright (c)1998,2002 Yaromat.com
  var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
  for (i=1; i<a.length;i=i+4){
    if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
    o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
    o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
    v=o.value;t=a[i+2];
    if (o.type=='text'||o.type=='password'||o.type=='hidden'){
      if (r&&v.length==0){err=true}
      if (v.length>0)
      if (t==1){ //fromto
        ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
      } else if (t==2){
        rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
      } else if (t==3){ // date
        ma=a[i+1].split("#");at=v.match(ma[0]);
        if(at){
          cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
          dte=new Date(cy,cm,cd);
          if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
        }else{err=true}
      } else if (t==4){ // time
        ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
      } else if (t==5){ // check this 2
            if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!o1.checked){err=true}
      } else if (t==6){ // the same
            if(v!=MM_findObj(a[i+1]).value){err=true}
      }
    } else
    if (!o.type&&o.length>0&&o[0].type=='radio'){
          at = a[i].match(/(.*)\[(\d+)\].*/i);
          o2=(o.length>1)?o[at[2]]:o;
      if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
      if (t==2){
        oo=false;
        for(j=0;j<o.length;j++){oo=oo||o[j].checked}
        if(!oo){s+='* '+a[i+3]+'\n'}
      }
    } else if (o.type=='checkbox'){
      if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
    } else if (o.type=='select-one'||o.type=='select-multiple'){
      if(t==1&&o.selectedIndex/1==0){err=true}
    }else if (o.type=='textarea'){
      if(v.length<a[i+1]){err=true}
    }
    if (err){s+='* '+a[i+3]+'\n'; err=false}
  }
  if (s!=''){alert('The required information is incomplete or contains errors:\t\t\t\t\t\n\n'+s)}
  document.MM_returnValue = (s=='');
}

function stringFilter (input) {
s = input.value;
filteredValues = "#$%^&*()_-+= ";     // Characters stripped out
var i;
var returnString = "";
for (i = 0; i < s.length; i++) {  // Search through string and append to unfiltered values to returnString.
var c = s.charAt(i);
if (filteredValues.indexOf(c) == -1) returnString += c;
}
input.value = returnString;
}
