function passwordIDFocusHandler ()
{
    this.style.display = "none";
    document.getElementById("passwordID").style.display = "inline";
    document.getElementById("passwordID").focus();
}

function passwordIDBlurHandler ()
{
    if ("" == this.value) {
        this.style.display = "none";
        document.getElementById("password_overlayID").style.display = "inline";
    }
}
function passwordconfirmFocusHandler ()
{
    this.style.display = "none";
    document.getElementById("passwordconfirm").style.display = "inline";
    document.getElementById("passwordconfirm").focus();
}

function passwordconfirmBlurHandler ()
{
    if ("" == this.value) {
        this.style.display = "none";
        document.getElementById("password_overlay_confirm").style.display = "inline";
    }
}
function emailFocusHandler ()
{
    if ("Enter your email" == this.value) {
        this.value  = "";
    }
}

function emailBlurHandler ()
{
    if ("" == this.value) {
        this.value  = "Enter your email";
    }
}
function confirmemailFocusHandler ()
{
    if ("Confirm your email" == this.value) {
        this.value  = "";
    }
}

function confirmemailBlurHandler ()
{
    if ("" == this.value) {
        this.value  = "Confirm your email";
    }
}

//=================================

function select_all(name)
 {
	var arr=document.getElementsByName(name);
	var i=0;
	while(i<arr.length)
	{
		if($('select-all').checked)
		{
			arr[i].checked=true;
		}
		else
		{
			arr[i].checked=false;
		}
		i = i + 1;	
  }
 }
 
 function unselect_all(name)
 {
	for(a in document.getElementsByName(name))
	{
		a.checked=false;
	}
 }
function delete_all(name,url,arg_string)
{
  arg_str = typeof(arg_string) != 'undefined' ? arg_string : "";
    var arr = document.getElementsByName(name);
      var i=0;
       var ids=[];
       while(i<arr.length)
            {
                if(arr[i].checked)
                    {
                      ids.push(arr[i].value);
                    }
                    i = i + 1;  
            }
            if(arg_string != "")
               var query_string = arg_str + "&" + "bulk=true" + "&" + "ids=" + ids.join(",");
            else
               var query_string = "bulk=true" + "&" + "ids=" + ids.join(",");

               var redirect_url = url + "?" + query_string;
               new Ajax.Request(redirect_url,{method: 'get'})
}

function preloadImages() {
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=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];}}
}

/*  sign in session utils */
function userIDFocusHandler ()
{
    if ("User ID" == this.value) {
        this.value  = "";
    }
}

function userIDBlurHandler ()
{
    if ("" == this.value) {
        this.value  = "User ID";
    }
}

function passwordFocusHandler ()
{
    this.style.display = "none";
    document.getElementById("password").style.display = "inline";
    document.getElementById("password").focus();
}

function passwordBlurHandler ()
{
    if ("" == this.value) {
        this.style.display = "none";
        document.getElementById("password_overlay").style.display = "inline";
    }
}

function doLogin(event) 
{
    if (event.keyCode==13) { 
        if (document.getElementById('password').value != "") {
			document.getElementById('frm_login').submit();
		} else {
			document.getElementById('password_overlay').focus();
		}
    }
}

function tabOver(img) 
{
    var src = img.src;
    if (src.indexOf("on") == -1) {
        var newsrc = src.substring(0,src.lastIndexOf("_")) + "_over.png";
        img.src = newsrc;
    }
}

function tabOut(img) 
{
    var src = img.src;
    if (src.indexOf("on") == -1) {
        var newsrc = src.substring(0,src.lastIndexOf("_")) + "_normal.png";
        img.src = newsrc;
    }
}

function hasClassNameOver (elem)
{
  return elem.className.indexOf('_over') !== -1;
}

function buttonOver (element)
{
    var buttondivs = element.getElementsByTagName('div');
    for (var i = 0; i < buttondivs.length; i++) {
      var newcls;
      if (!hasClassNameOver(buttondivs[i])) {
      	newcls = buttondivs[i].className + "_over";
    	} else {
    	  newcls = buttondivs[i].className;
    	}
    	buttondivs[i].className = newcls;
    }
}

function buttonOut (element)
{
    var buttondivs = element.getElementsByTagName('div');
    for (var i = 0; i < buttondivs.length; i++) {
      var newcls;
      if (hasClassNameOver(buttondivs[i])) {
      	newcls = buttondivs[i].className.substring(0,buttondivs[i].className.lastIndexOf("_"));
    	} else {
    	  newcls = buttondivs[i].className;
    	}
    	
    	buttondivs[i].className = newcls;
    }
}

function navClick (element) 
{
	var isopen = (element.parentNode.getElementsByTagName('ul')[0].className == "sub_navigation")?true:false;
	
	var divs = element.parentNode.parentNode.getElementsByTagName('div');
    for (var i = 0; i < divs.length; i++) {
        if (divs[i].className == "sub_navigation_top") {
            divs[i].getElementsByTagName('ul')[0].className = "sub_navigation_collapsed";	
		}
		if (divs[i].className == "navigation_middle_on") {
			divs[i].className = "navigation_middle";
        }
		if (divs[i].className == "navigation_shadow_off") {
			divs[i].className = "navigation_shadow_med";
        }
}
	
	if (isopen) {
		element.parentNode.getElementsByTagName('ul')[0].className = "sub_navigation_collapsed";
		element.parentNode.className = "navigation_middle";
		element.className = "navigation_shadow_med";
	} else {
		element.parentNode.getElementsByTagName('ul')[0].className = "sub_navigation";
		element.parentNode.className = "navigation_middle_on";
		element.className = "navigation_shadow_off";
	}
}

function navOver(element) {
	if (element.parentNode.className != "navigation_middle_on") {
		element.parentNode.className = "navigation_hover";
	} else {
        element.parentNode.className = "navigation_hover_on";
	}
}

function navOut(element) {
	if (element.parentNode.className == "navigation_hover") element.parentNode.className = "navigation_middle";
	if (element.parentNode.className == "navigation_hover_on") element.parentNode.className = "navigation_middle_on";
}

function subNavClick (element) 
{
	var isopen = (element.parentNode.getElementsByTagName('ul')[0].className == "sub_navigation_list")?true:false;
	
	var lis = element.parentNode.parentNode.getElementsByTagName('li');
    for (var i = 0; i < lis.length; i++) {
        if (lis[i].getElementsByTagName('ul')[0]) {
			if (lis[i].getElementsByTagName('ul')[0].className == "sub_navigation_list") {
                lis[i].getElementsByTagName('ul')[0].className = "sub_navigation_list_collapsed";
			}
			if (lis[i].getElementsByTagName('div')[0].className == "sub_navigation_title") {
                lis[i].getElementsByTagName('div')[0].className = "sub_navigation_title_collapsed";
			}
		}
	}

	if (isopen) {
		element.parentNode.getElementsByTagName('ul')[0].className = "sub_navigation_list_collapsed";
		element.parentNode.getElementsByTagName('div')[0].className = "sub_navigation_title_collapsed";
	} else {
		element.parentNode.getElementsByTagName('ul')[0].className = "sub_navigation_list";
		element.parentNode.getElementsByTagName('div')[0].className = "sub_navigation_title";
	}

}

function subNavOver(element) {
	if (element.className == "sub_navigation_title_collapsed") {
		element.className = "sub_navigation_hover";
	} else {
		element.className = "sub_navigation_hover_on";
	}
}

function subNavOut(element) {
	if (element.className == "sub_navigation_hover_on" || element.className == "sub_navigation_title") {
		element.className = "sub_navigation_title";
	} else {
		element.className = "sub_navigation_title_collapsed";
	}
}

function tableRowOver (element)
{
    element.className = "table_row_over";
}

function tableRowOut (element)
{
    element.className = "table_row_normal";
}
function tableRowOut_class (element)
{
    element.className = "table_row_normal_class";
}


function homeOver(element) {
    element.className = "home_container_over";
}

function homeOut(element) {
    element.className = "home_container";
}

function highlightOver(element) {
    var cls = element.className;
	if (cls.indexOf("_on") == -1) {
	    element.className = cls + "_over";
	}
}

function highlightOut(element) {
    var cls = element.className;
	if (cls.indexOf("_on") == -1) {
	    element.className = cls.substring(0,cls.lastIndexOf("_"));
	}
}

function highlightOn(element) {
    var cls = element.className;
	var tds = element.parentNode.getElementsByTagName("td");
	for (var i = 1; i < tds.length - 1; i++) {
        tds[i].className = cls.substring(0,cls.lastIndexOf("_"));
    }
    element.className = cls.substring(0,cls.lastIndexOf("_")) + "_on";
}

function showElt(elementID) 
{
    document.getElementById(elementID).style.display = "block";
}

function hideElt(elementID) 
{
	document.getElementById(elementID).style.display = "none";
}

function focusHandler (origval, elt) 
{
    if (origval == elt.value) {
	    elt.value = "";	
	}
}

function blurHandler (origval, elt) 
{
    if (elt.value == "") {
	    elt.value = origval;	
	}
}

function compareDates(earlydate, latedate) 
{
   if (typeof(earlydate) == "string") {
     var mon1   = parseInt(earlydate.substring(0,2),10); 
     var dt1  = parseInt(earlydate.substring(3,5),10);
     var yr1   = parseInt(earlydate.substring(6,10),10);
     var date1 = new Date(yr1, mon1 - 1, dt1); 
   } else {
	 var date1 = earlydate;   
   }
   if (typeof(latedate) == "string") {
     var mon2   = parseInt(latedate.substring(0,2),10); 
     var dt2  = parseInt(latedate.substring(3,5),10); 
     var yr2   = parseInt(latedate.substring(6,10),10); 
     var date2 = new Date(yr2, mon2 - 1, dt2); 
   } else {
	 var date2 = latedate;   
   }
   if(date2 < date1)
   {
      return false; 
   } 
   return true;
}

function stopEventPropagation() 
{
    if(!e) var e = window.event;
	
	//e.cancelBubble is supported by IE - this will kill the bubbling process.
	e.cancelBubble = true;
	e.returnValue = false;

	//e.stopPropagation works only in Firefox.
	if (e.stopPropagation) {
		e.stopPropagation();
		e.preventDefault();
	}
	return false;
}

function swapImage(img)
{
    var src = img.src;
    if (src.indexOf("over") == -1) {
        var newsrc = src.substring(0,src.lastIndexOf(".")) + "_over.png";
        img.src = newsrc;
    } else {
	    var newsrc = src.substring(0,src.lastIndexOf("_")) + ".png";
        img.src = newsrc;	
	}
}

function initialTarget(e) {
  var jqElem = jQuery(e.originalTarget || e.srcElement);
  if (jqElem.length === 0) { return undefined; }
  
  return jqElem[0];
}
