var ie5 = (document.getElementById && document.all); 
var ns6 = (document.getElementById && !document.all);


// to change the duration of the effect, change the duration number. "Duration=2" => 2 seconds

var wipeDown = "revealTrans(Duration=0.5,Transition=5)";
1
var myEffect = wipeDown;

function showFilter(obj, visibility) {
	if(ie5){
		menu[obj].style.filter = myEffect; // set your effect from one of the top 25 differents effects
		menu[obj].filters[0].Apply();
		menu[obj].style.visibility = visibility;
		menu[obj].filters[0].Play();
	}
	else if(ns6){
		menu[obj].style.visibility = visibility;
	}
}

function showHide(obj, visibility) {
	if(ie5 || ns6){
		menu[obj].style.visibility = visibility;
	}
}

function menuBarInit() {
	if(ie5 || ns6){
   		menu = document.getElementsByTagName("div");
	}
}

function MakeActive(num) {
    	if(ie5 || ns6) {
        	for(i=0;i<lnk.length;i++) {
        		lnk[i].style.color = "#006699";
        		lnk[num].style.color = "white";
        	}
    	}
}

function makeActiveInit() {
    	if(ie5 || ns6){
        	lnk = document.getElementById("tb").getElementsByTagName("a");
        		for(i=0;i<lnk.length;i++){
        			lnk[i].onfocus=new Function("if(this.blur)this.blur()");
        			lnk[16].style.color = "red";
			}
        }	
	if(ie5)
	    document.getElementById("tb").style.visibility = "visible";
}

/*****
MENU
*******************/


//################################ FORM VALIDATION ##################################
function ValidateForm(strform, arname, artype){
	//requires form name, elements names, elements types
	//arname is array seperated by comma
	//artype is array seperated by comma
	//call function in the following manner
	//onSubmit="return ValidateForm('form name', 'field1,field2', 'Type,Type');"
	//possible Types (T-Text, E-Email, N-number, D-date)
	var strvalue;
	var x = 0;
	var intlimit;
	var strerr = 'X';
	arname = arname.split(',');	//field names seperated by comma
	artype = artype.split(',');	//field type seperated by comma
	intlimit = arname.length;	//number of fields being checked
	if (artype[0]=='T'){
		if (arname.substring(0, 4) == '%03C'){	//must contain http://
			strerr = arname + ' is not a valid search pattern.';
		}else{
			strerr = 'X';
		}
	}
	for (x=0;x<intlimit;x++){	//for each field
		strvalue = document.forms[strform].elements[arname[x]].value;	//field value
		strerr = '';	//set to blank
		strerr = ValidateBlank(arname[x], strvalue);	//check for blank
		if (strerr.charAt(1) == 'X'){	//if not blank
			strerr = '';	//set to blank
		}
		if (strerr.charAt(1) == ''){	//passed blank check now check special
		switch (artype[x]){
			case 'E':	//check for valid email
				strerr = ValidateEmail(arname[x], strvalue);
				break;
			case 'N':	//check for valid number
				strerr = ValidateNumber(arname[x], strvalue);
				break;
			case 'D':	//check for valid date
				strerr = ValidateDate(arname[x], strvalue);
				break;
			case 'U':	//check for valid url
				strerr = ValidateUrl(arname[x], strvalue);
				break;
		}}
		if (strerr.length > 1){
			alert(strerr.toUpperCase());
			return false;
		}
	}
}

function ValidateBlank(strname, strvalue){	//checks for blank
	var strerr = '';
	if (strvalue.length <= 0) {	//if field is blank then alert user and exit function
		strerr = strname + ' is required.';	
	}else{
		strerr = 'X';
	}
	return strerr;	//return strerr value
}

function ValidateEmail(strname, strvalue){	//validates email
	var strerr = '';
	if (strvalue.length < 7) {	//valid email must be atleast 7 chars.
		strerr = strname + ' is not a valid email address.';
	}else{
		if (strvalue.indexOf('@') == -1){	//must contain @
			strerr = strname + ' is not a valid email address.';
		}else{
			strerr = 'X';
		}
	}
	return strerr;
}

function ValidateUrl(strname, strvalue){	//validates url
	var strerr = '';
	var strtemp = '';
	if (strvalue.length < 7) {	//valid url must be atleast 7 chars. http://
		strerr = strname + ' is not a valid url.';
	}else{
		strtemp = strvalue.toLowerCase();
		if (strtemp.substring(0, 7) != 'http://'){	//must contain http://
			strerr = strname + ' is not a valid url.';
		}else{
			strerr = 'X';
		}
	}
	return strerr;
}

function ValidateNumber(strname, strvalue){	//validates number
	var strerr = '';
	if (isNaN(strvalue) == true)  {
		strerr = strname + ' must be a number.';
	}else{
		strerr = 'X';
	}
	return strerr;
}

function ValidateDate(strname, strvalue){	//validates date
	var strerr = '';
	var dtdate = new Date();	//current date
	var dttemp;					//selected date
	var ardate;					//date array
	dtdate.setHours(0);
	dtdate.setMinutes(0);
	dtdate.setSeconds(0);
	dtdate.setMilliseconds(0);
	if (strvalue.indexOf('/') != -1){	//does entered date have slashes
		ardate = strvalue.split('/');	//split into 3 parts
		if (ardate.length == 3){	//proper format check for expiration
			ardate[0] = ardate[0] - 1;	//correction for month starting at 0
			dttemp = new Date(ardate[2], ardate[0], ardate[1]);	//create date selected date
			if (!(dttemp >= dtdate)){	//date has already past
				strerr = 'The date you entered has already past.'
			}
		}else{	//invalid number of date elements
			strerr = strname + ' must be a date. (mm/dd/yyyy)';
		}
	}else{	//invalid date b/c no slashes
		strerr = strname + ' must be a date. (mm/dd/yyyy)';
	}
	return strerr;
}
//############################### END FORM VALIDATION ##########################
/******
START SEND TO FRIEND POP UP
*****************/
function open_win()
{
window.open("../admin/passupdate.asp","_blank","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, top=30, left=30 width=400, height=400")
}
function open_win2()
{
window.open("../ssi/email_samll.asp","_blank","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, top=30, left=30 width=400, height=400")
}
/******
END SEND TO FRIEND POP UP
*****************/
/******
START SHOW URL
*****************/
function showURL()
{
document.write(document.URL)
}
/******
END SHOW URL
*****************/
/******
START DATE
*****************/
function getCalendarDate()
{
   var months = new Array(13);
   months[0]  = "January";
   months[1]  = "February";
   months[2]  = "March";
   months[3]  = "April";
   months[4]  = "May";
   months[5]  = "June";
   months[6]  = "July";
   months[7]  = "August";
   months[8]  = "September";
   months[9]  = "October";
   months[10] = "November";
   months[11] = "December";
   var now         = new Date();
   var monthnumber = now.getMonth();
   var monthname   = months[monthnumber];
   var monthday    = now.getDate();
   var year        = now.getYear();
   if(year < 2000) { year = year + 1900; }
   var dateString = monthname + 
                    ' ' + 
                    monthday + 
                    ', ' + 
                    year;
   return dateString;
} 

function getClockTime()
{
   var now    = new Date();
   var hour   = now.getHours();
   var minute = now.getMinutes();
   var second = now.getSeconds();
   var ap = "AM";
   if (hour   > 11) { ap = "PM";             }
   if (hour   > 12) { hour = hour - 12;      }
   if (hour   == 0) { hour = 12;             }
   if (hour   < 10) { hour   = "0" + hour;   }
   if (minute < 10) { minute = "0" + minute; }
   if (second < 10) { second = "0" + second; }
   var timeString = hour + 
                    ':' + 
                    minute + 
                    ':' + 
                    second + 
                    " " + 
                    ap;
   return timeString;
}
/******
END DATE
*****************/
/******
START FLASH CONTENT
*****************/

if(typeof com == "undefined") var com = new Object();
if(typeof com.deconcept == "undefined") com.deconcept = new Object();
if(typeof com.deconcept.util == "undefined") com.deconcept.util = new Object();
if(typeof com.deconcept.FlashObjectUtil == "undefined") com.deconcept.FlashObjectUtil = new Object();
com.deconcept.FlashObject = function(swf, id, w, h, ver, c, useExpressInstall, quality, xiRedirectUrl, redirectUrl, detectKey){
  if (!document.createElement || !document.getElementById) return;
  this.DETECT_KEY = detectKey ? detectKey : 'detectflash';
  this.skipDetect = com.deconcept.util.getRequestParameter(this.DETECT_KEY);
  this.params = new Object();
  this.variables = new Object();
  this.attributes = new Array();
  this.useExpressInstall = useExpressInstall;

  if(swf) this.setAttribute('swf', swf);
  if(id) this.setAttribute('id', id);
  if(w) this.setAttribute('width', w);
  if(h) this.setAttribute('height', h);
  if(ver) this.setAttribute('version', new com.deconcept.PlayerVersion(ver.toString().split(".")));
  this.installedVer = com.deconcept.FlashObjectUtil.getPlayerVersion(this.getAttribute('version'), useExpressInstall);
  if(c) this.addParam('bgcolor', c);
  var q = quality ? quality : 'high';
  this.addParam('quality', q);
  var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location;
  this.setAttribute('xiRedirectUrl', xir);
  this.setAttribute('redirectUrl', '');
  if(redirectUrl) this.setAttribute('redirectUrl', redirectUrl);
}
com.deconcept.FlashObject.prototype = {
  setAttribute: function(name, value){
    this.attributes[name] = value;
  },
  getAttribute: function(name){
    return this.attributes[name];
  },
  addParam: function(name, value){
    this.params[name] = value;
  },
  getParams: function(){
    return this.params;
  },
  addVariable: function(name, value){
    this.variables[name] = value;
  },
  getVariable: function(name){
    return this.variables[name];
  },
  getVariables: function(){
    return this.variables;
  },
  createParamTag: function(n, v){
    var p = document.createElement('param');
    p.setAttribute('name', n);
    p.setAttribute('value', v);
    return p;
  },
  getVariablePairs: function(){
    var variablePairs = new Array();
    var key;
    var variables = this.getVariables();
    for(key in variables){
      variablePairs.push(key +"="+ variables[key]);
    }
    return variablePairs;
  },
  getFlashHTML: function() {
    var flashNode = "";
    if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { // netscape plugin architecture
      if (this.getAttribute("doExpressInstall")) this.addVariable("MMplayerType", "PlugIn");
      flashNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'"';
      flashNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
      var params = this.getParams();
       for(var key in params){ flashNode += [key] +'="'+ params[key] +'" '; }
      var pairs = this.getVariablePairs().join("&");
       if (pairs.length > 0){ flashNode += 'flashvars="'+ pairs +'"'; }
      flashNode += '/>';
    } else { // PC IE
      if (this.getAttribute("doExpressInstall")) this.addVariable("MMplayerType", "ActiveX");
      flashNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'">';
      flashNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />"';
      var params = this.getParams();
       for(var key in params) {
        flashNode += '<param name="'+ key +'" value="'+ params[key] +'">';
       }
      var pairs = this.getVariablePairs().join("&");
       if(pairs.length > 0) flashNode += '<param name="flashvars" value="'+ pairs +'">';
    }
    return flashNode;
  },
  write: function(elementId){
    if(this.useExpressInstall) {
      // check to see if we need to do an express install
      var expressInstallReqVer = new com.deconcept.PlayerVersion([6,0,65]);
      if (this.installedVer.versionIsValid(expressInstallReqVer) && !this.installedVer.versionIsValid(this.getAttribute('version'))) {
        this.setAttribute('doExpressInstall', true);
        this.addVariable("MMredirectURL", escape(this.getAttribute('xiRedirectUrl')));
        document.title = document.title.slice(0, 47) + " - Flash Player Installation";
        this.addVariable("MMdoctitle", document.title);
      }
    } else {
      this.setAttribute('doExpressInstall', false);
    }
    if(this.skipDetect || this.getAttribute('doExpressInstall') || this.installedVer.versionIsValid(this.getAttribute('version'))){
      var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;
      n.innerHTML = this.getFlashHTML();
    }else{
      if(this.getAttribute('redirectUrl') != "") {
        document.location.replace(this.getAttribute('redirectUrl'));
      }
    }
  }
}

/* ---- detection functions ---- */
com.deconcept.FlashObjectUtil.getPlayerVersion = function(reqVer, xiInstall){
  var PlayerVersion = new com.deconcept.PlayerVersion(0,0,0);
  if(navigator.plugins && navigator.mimeTypes.length){
    var x = navigator.plugins["Shockwave Flash"];
    if(x && x.description) {
      PlayerVersion = new com.deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));
    }
  }else{
    try{
      var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
      for (var i=3; axo!=null; i++) {
        axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
        PlayerVersion = new com.deconcept.PlayerVersion([i,0,0]);
      }
    }catch(e){}
    if (reqVer && PlayerVersion.major > reqVer.major) return PlayerVersion; // version is ok, skip minor detection
    // this only does the minor rev lookup if the user's major version 
    // is not 6 or we are checking for a specific minor or revision number
    // see http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
    if (!reqVer || ((reqVer.minor != 0 || reqVer.rev != 0) && PlayerVersion.major == reqVer.major) || PlayerVersion.major != 6 || xiInstall) {
      try{
        PlayerVersion = new com.deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
      }catch(e){}
    }
  }
  return PlayerVersion;
}
com.deconcept.PlayerVersion = function(arrVersion){
  this.major = parseInt(arrVersion[0]) || 0;
  this.minor = parseInt(arrVersion[1]) || 0;
  this.rev = parseInt(arrVersion[2]) || 0;
}
com.deconcept.PlayerVersion.prototype.versionIsValid = function(fv){
  if(this.major < fv.major) return false;
  if(this.major > fv.major) return true;
  if(this.minor < fv.minor) return false;
  if(this.minor > fv.minor) return true;
  if(this.rev < fv.rev) return false;
  return true;
}
/* ---- get value of query string param ---- */
com.deconcept.util = {
  getRequestParameter: function(param){
    var q = document.location.search || document.location.href.hash;
    if(q){
      var startIndex = q.indexOf(param +"=");
      var endIndex = (q.indexOf("&", startIndex) > -1) ? q.indexOf("&", startIndex) : q.length;
      if (q.length > 1 && startIndex > -1) {
        return q.substring(q.indexOf("=", startIndex)+1, endIndex);
      }
    }
    return "";
  },
  removeChildren: function(n){
    while (n.hasChildNodes()) n.removeChild(n.firstChild);
  }
}

/* add Array.push if needed (ie5) */
if (Array.prototype.push == null) { Array.prototype.push = function(item) { this[this.length] = item; return this.length; }}

/* add some aliases for ease of use/backwards compatibility */
var getQueryParamValue = com.deconcept.util.getRequestParameter;
var FlashObject = com.deconcept.FlashObject;


/**
END FLASH CONTENT
**********************************************************************************************************************************/



/*
Preload images script
*/

var myimages=new Array()
function preloadimages(){
for (i=0;i<preloadimages.arguments.length;i++){
myimages[i]=new Image()
myimages[i].src=preloadimages.arguments[i]
}
}
preloadimages("../images/background.jpg","../images/head-back.gif","../images/top-back.gif")

/*****************
Toggle
**************/

function toggleMe(a){
  var next=document.getElementById(a);
  var b=new String();
  b= a-1;
  var prev=document.getElementById(b);
  if(!next)return true;
  if(next.style.display=="none"){
    next.style.display="block"
    prev.style.display="none"
    window.scrollTo(0,0);
  } else {
    next.style.display="none"
  }
  return true;
}
/***********************************************
PROGRESS BAR
*************************************************/

var  percent = 70,
	 timePeriod = 100;

function getBar() {
 	var retBar = '';
 	for(i = 0; i < percent; i++) {
		  retBar += "|";
	 }
	 return retBar;
}

function progressBar() {
  if(percent < 100) {
    percent = percent + 1
    window.status = "Loading : " + percent + "%" + " " + getBar();
    setTimeout ("progressBar()", timePeriod);
  } else {
    document.body.style.display = "";
  }
}
progressBar();



/******************************
QTIP
********************************/

var qTipTag = "i,input"; //Which tags do you want to qTip-ize? Keep it lowercase!//
var qTipX = 0; //This is qTip's X offset//
var qTipY = 15; //This is qTip's Y offset//

//There's no need to edit anything below this line//
tooltip = {
  name : "qTip",
  offsetX : qTipX,
  offsetY : qTipY,
  tip : null
}

tooltip.init = function () {
	var tipNameSpaceURI = "http://www.w3.org/1999/xhtml";
	if(!tipContainerID){ var tipContainerID = "qTip";}
	var tipContainer = document.getElementById(tipContainerID);

	if(!tipContainer) {
	  tipContainer = document.createElementNS ? document.createElementNS(tipNameSpaceURI, "div") : document.createElement("div");
		tipContainer.setAttribute("id", tipContainerID);
	  document.getElementsByTagName("body").item(0).appendChild(tipContainer);
	}

	if (!document.getElementById) return;
	this.tip = document.getElementById (this.name);
	if (this.tip) document.onmousemove = function (evt) {tooltip.move (evt)};

	var a, sTitle, elements;
	
	var elementList = qTipTag.split(",");
	for(var j = 0; j < elementList.length; j++)
	{	
		elements = document.getElementsByTagName(elementList[j]);
		if(elements)
		{
			for (var i = 0; i < elements.length; i ++)
			{
				a = elements[i];
				sTitle = a.getAttribute("title");				
				if(sTitle)
				{
					a.setAttribute("tiptitle", sTitle);
					a.removeAttribute("title");
					a.removeAttribute("alt");
					a.onmouseover = function() {tooltip.show(this.getAttribute('tiptitle'))};
					a.onmouseout = function() {tooltip.hide()};
				}
			}
		}
	}
}

tooltip.move = function (evt) {
	var x=0, y=0;
	if (document.all) {//IE
		x = (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
		y = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
		x += window.event.clientX;
		y += window.event.clientY;
		
	} else {//Good Browsers
		x = evt.pageX;
		y = evt.pageY;
	}
	this.tip.style.left = (x + this.offsetX) + "px";
	this.tip.style.top = (y + this.offsetY) + "px";
}

tooltip.show = function (text) {
	if (!this.tip) return;
	this.tip.innerHTML = text;
	this.tip.style.display = "block";
}

tooltip.hide = function () {
	if (!this.tip) return;
	this.tip.innerHTML = "";
	this.tip.style.display = "none";
}

// Multiple onload function created by: Simon Willison
// http://simonwillison.net/2004/May/26/addLoadEvent/
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(function() {
  tooltip.init ();
});

