/**
* form validation
*/

function validate_form(formId)
{
	var form = document.getElementById(formId);
	if(form!=null)
	{
		var errors = "";
		var labels = form.getElementsByTagName("label");
		for( var i=0; i<labels.length; i++ )
		{
		   if( labels[i].className.indexOf("required")>-1 )
		   {
		      var element = document.getElementById(labels[i].htmlFor);
		      if( element!=null )
		      {
		         if(element.tagName=="INPUT" || element.tagName=="TEXTAREA" )
		         {
		            if( element.type=="checkbox" )
		            {
		               if( !element.checked )
		               {
		                  errors += "\n- "+kamRemoveTags(labels[i].innerHTML.replace(":","").replace("*",""),"span")+" is required";
		               }
		            }
		            else if( element.type=="text" )
		            {
		               if( element.value.replace(/^\s+|\s+$/g, '')=="")
		               {
		                  errors += "\n- "+kamRemoveTags(labels[i].innerHTML.replace(":","").replace("*",""),"span")+" is required";
		               }
		            }
		         }
		         else if(element.tagName=="SELECT")
		         {
		            if(element.options[element.selectedIndex].value=="")
		            {
		               errors += "\n- "+kamRemoveTags(labels[i].innerHTML.replace(":","").replace("*",""),"span")+" is required";
		            }
		         }
		      }
		   }
		}
		   
		if(errors!="")
		{
		   errors = "There were the following errors:"+errors;
		   alert(errors);
		   return false;
		}
	}
	else
	{
	   alert("Validation of form failed, form is null");
	   return false;
	}
	return false;
}
		
function kamRemoveTags(kamSourceString, kamTagName)
{
   var regexp= new RegExp ("<" + kamTagName + "[^.]*\/" + kamTagName + ">", "gi");
   return kamSourceString.replace(regexp,"").replace("  "," ");
}

/**
* scrollers
*/

var kam_numScrollers = 1;

/**
* kam_numSecsRotate = rotating speed between items
*/

var kam_numSecsRotate = 4;

var kam_currentItemIndexes = new Array();
var kam_scrollerContainers = new Array();
var kam_interval;

function initScroller()
{
   for( var i=0; i<kam_numScrollers; i++ )
   {
      kam_scrollerContainers[i] = null;
   }
   scrollScroller();
   kam_interval=setInterval('scrollScroller()',kam_numSecsRotate*1000);
}

function scrollScroller()
{
	for( var i=0; i<kam_numScrollers; i++ )
	{
            // load the container if not already loaded
               if( kam_scrollerContainers[i]==null )
               {
                  kam_scrollerContainers[i] = document.getElementById("scroller"+i);
                  if( kam_scrollerContainers[i]!=null )
                  {
                     kam_scrollerContainers[i].className="hasJS";
                     kam_scrollerContainers[i].onmouseover=function(){ clearInterval(kam_interval); }
                     kam_scrollerContainers[i].onmouseout=function(){ kam_interval=setInterval('scrollScroller()',kam_numSecsRotate*1000); }
                  }
               }
		
		// check if not null (to make sure that no errors display
         if(  kam_scrollerContainers[i]!=null )
			{
            // get all titles/defs
				   var titles= kam_scrollerContainers[i].getElementsByTagName('dt');
               var definitions= kam_scrollerContainers[i].getElementsByTagName('dd');
				
				// hide everything
               for( var j=0; j<titles.length; j++ )
               {
                  titles[j].className = 'hide';
                  definitions[j].className = 'hide';
               }
            
				// show the next one (loop if last)
				   if( kam_currentItemIndexes[i]<titles.length )
               {
                  titles[kam_currentItemIndexes[i]].className = '';
                  definitions[kam_currentItemIndexes[i]].className = '';   
                  kam_currentItemIndexes[i]++;
               }
               else
               {
                 titles[0].className = '';
                 definitions[0].className = '';   
                 kam_currentItemIndexes[i]=0;   
               }
				
			}
   }
}

/**
* more js
*/

function setHomeRedirect(url)
{
   setCustomCookie("defaulthome",url,365);
   document.location = url;
}

function returnSelected(menuDiv)
{
   var url = window.location.href.toLowerCase();
   if( menuDiv!=null )
   {
      var items = menuDiv.getElementsByTagName("a");
      for( var i=0; i<items.length; i++ )
      {
         //alert('Window Url: '+url+'\nLink Url: '+items[i].href.toLowerCase()+"\n");
         if( items[i].href.toLowerCase()==url )
         {
            return items[i];
            break;
         }
      }
      return false;
   }
}

function setSelected( menuDiv,selectedItem )
{
   if( selectedItem!=false )
   {
      selectedItem.className = selectedItem.className+" selected";
      var parent = selectedItem.parentNode;
      while( true )
      {
         if( parent==null )
         {
            break; 
         }
         else if( parent.id==menuDiv.id )
         {
            break;
         }
         else if( parent.tagName.toLowerCase()=="li" )
         {
            parent.className = parent.className+" selected";
         }
         parent = parent.parentNode;
      }
   }
}

function getCustomCookie(NameOfCookie)
{
   if (document.cookie.length > 0)
   {
      begin = document.cookie.indexOf(NameOfCookie+"=");
      if (begin != -1)
      {
         begin += NameOfCookie.length+1;
         end = document.cookie.indexOf(";", begin);
         if (end == -1) end = document.cookie.length;
         return unescape(document.cookie.substring(begin, end));
      }
   }
   return null;
}

function setCustomCookie(c_name,value,expiredays)
{
   var exdate=new Date();
   exdate.setDate(exdate.getDate()+expiredays);
   document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
   return;
}

function deleteCustomCookie(cookiename)
{
  var exp = new Date();
  exp.setTime(exp.getTime() - 1000);
  var cookieVal = getCustomCookie(cookiename);
  if (cookieVal != null)
  {
    document.cookie = name + "=" + cookieVal + "; expires=" + exp.toGMTString();
  }
}

function changeCountry(element)
{
   var site = element.options[element.selectedIndex].value;
   if( site!="" )
   {
      document.location = site;
   }
   return true;
}

function casecadeHoverUp(element,state)
{
   if( state=="off" ){ element.className=element.className.replace("selected","");}
   else{ element.className+=" selected"; }
}

function setRolloverNavigation()
{
   var ie = navigator.userAgent.indexOf("MSIE");
   var ie7 = navigator.userAgent.indexOf("MSIE 7");
   var navdiv = document.getElementById("topnav");
   if( navdiv!=null )
   {
      var listItems = navdiv.getElementsByTagName("li");
      for( var i=0; i<listItems.length; i++ )
      {
         var sublists = listItems[i].getElementsByTagName("UL");
         if( sublists.length )
         {
            listItems[i].className = listItems[i].className+" hassubs";
         }
         listItems[i].onmouseover = function() { casecadeHoverUp(this,"on"); };
         listItems[i].onmouseout = function() { casecadeHoverUp(this,"off"); };
      }
   }
}

/**
* setup popups
*/

var popup_width = 800;
var popup_height = 600;

function initPopups(){
	var links = document.getElementsByTagName('a');
	var new_href_string = String;
	popup_width = (screen.width / 100) * 80;
	popup_height = (screen.height / 100) * 60;
	for( var i = 0; i < links.length; i ++ ) {
		var href_string = String(links.item(i));
		var url_arg_index = href_string.indexOf('intpop');
		if( url_arg_index != -1 ){
			if( href_string.substr(url_arg_index-1,'1') == '?'){
				new_href_string = href_string.replace('?intpop=true','');
			}
			else{
				new_href_string = href_string.replace('&intpop=true','');
			}
			links.item(i).onclick = function(){
				window.open(new_href_string,"newwindow","height="+popup_height+", width="+popup_width+", toolbar=yes, location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes");
				return false;
			};
			links.item(i).href = new_href_string;
		}
	}
}

function startup()
{
   // setup the menus 
   setRolloverNavigation();
   var menu = document.getElementById("leftnav");   
   if( menu!=null )
   {   
      setSelected(menu,returnSelected(menu));
   }

   // set up popup fix
   initPopups();

   // start the rolling homepage box
   initScroller()

}

























