window.onerror = function () { return true; }

function xmlHttpRequestLoader() {
    
    if (window.XMLHttpRequest) {
        
        return new XMLHttpRequest();
        
    } else if (navigator.userAgent.indexOf('MSIE') > -1) {
        
        return new ActiveXObject("Microsoft.XMLHTTP");
        
    }
    
}

function resetOptions(select) {
    
    for (var i = 0; i < select.options.length; i++) {
        
        if (select.soptions[i]) {
            
            select.options[i].selected = true;
            
        } else {
            
            select.options[i].selected = false;
            
        }
        
    }
    
}

function saveOptions() {
    
    var selects = document.getElementsByTagName('select');
    for (var i = 0; i < selects.length; i++) {
        
        selects[i].soptions = new Array();
        for (var ii = 0; ii < selects[i].options.length; ii++) {
            
            selects[i].soptions[ii] = selects[i].options[ii].selected;
            
        }
        
    }
    
}

var slideShows = new Array;

function switchSlide(showID) {
	// Update indexes
	slideShows[showID]['currentIndex']++;
	if (!slideShows[showID]['slides'][slideShows[showID]['currentIndex']]) { slideShows[showID]['currentIndex'] = 0; }
	slideShows[showID]['nextIndex'] = slideShows[showID]['currentIndex'] + 1;
	if (!slideShows[showID]['slides'][slideShows[showID]['nextIndex']]) { slideShows[showID]['nextIndex'] = 0; }
	// Get next slide loading
//	var testNext = typeof(slideShows[showID]['next']);
//	testNext = testNext.replace(/[^A-Za-z]*/g, '').toLowerCase();
	if (slideShows[showID]['next'].id != slideShows[showID]['nextIndex']) {
		slideShows[showID]['next'] = new Image;
		slideShows[showID]['next'].id = slideShows[showID]['nextIndex'];
		slideShows[showID]['next'].onload = function () { this.loaded = 1; };
		slideShows[showID]['next'].src = slideShows[showID]['baseurl']+slideShows[showID]['slides'][slideShows[showID]['nextIndex']];
		// Workaround for Safari's busted image.onload
		if (navigator.userAgent.toLowerCase().indexOf('applewebkit') != -1) { slideShows[showID]['next'].loaded = 1; }
	}
	if (document.all && slideShows[showID]['image'].filters) {
		// Fancy transition for IE
		slideShows[showID]['image'].filters.blendTrans.Apply();
		slideShows[showID]['image'].src = slideShows[showID]['baseurl']+slideShows[showID]['slides'][slideShows[showID]['currentIndex']];
		slideShows[showID]['image'].filters.blendTrans.Play();
	} else {
		slideShows[showID]['image'].src = slideShows[showID]['baseurl']+slideShows[showID]['slides'][slideShows[showID]['currentIndex']];
	}
}

function runSlideShow(id, image, baseurl, delay, slides) {
	if (image && baseurl && delay && slides) {
		// Initialize slide show and set it to run
		slideShows[image.id] = new Array;
		slideShows[image.id]['image']        = image;
		slideShows[image.id]['baseurl']      = baseurl; // Should end in '/'
		slideShows[image.id]['delay']        = delay;
		slideShows[image.id]['slides']       = slides;
		slideShows[image.id]['currentIndex'] = 0;
		slideShows[image.id]['nextIndex']    = 1;
		slideShows[image.id]['next']         = new Image;
		slideShows[image.id]['next'].onload  = function () { this.loaded = 1; };
		slideShows[image.id]['next'].src     = baseurl+slides[1];
		slideShows[image.id]['next'].id      = 1;
                // Workaround for Safari's busted image.onload
                if (navigator.userAgent.toLowerCase().indexOf('applewebkit') != -1) { slideShows[image.id]['next'].loaded = 1; }
		var runcmd = 'setTimeout(\'runSlideShow("'+image.id+'")\', '+delay+')';
		eval(runcmd);
	} else if (id) {
		// Run specified slide show
		//alert(navigator.userAgent.toLowerCase().indexOf('applewebkit'));
		//alert(slideShows[id]['next'].loaded);
		if (slideShows[id]['next'].loaded) { switchSlide(id); }
		var runcmd = 'setTimeout(\'runSlideShow("'+id+'")\', '+slideShows[id]['delay']+')';
		eval(runcmd);
	}
}

var lastxoffset = null;
var lastyoffset = null;
var lastmenuid = null;

function autoAdjustIFrame(iframe)
{

    if (iframe.contentWindow.location.href.indexOf('http') != -1) {

        var body = iframe.contentWindow.document.body;
        var height = Math.max(body.offsetHeight, body.scrollHeight);
        iframe.style.height = "auto";
        if (document.all) {

            iframe.style.height = (height + 20) + "px";

        } else {

            iframe.style.height = (body.scrollHeight + 20) + "px";

        }

    }

}

function initializeMenus(xoffset, yoffset, menuid) {
	lastxoffset = xoffset;
	lastyoffset = yoffset;
	lastmenuid = menuid;
	hideMenu(menuid);
	showFloatMenuAt(menuid, ((document.body.clientWidth/2) - xoffset), yoffset);
}

function reInitializeMenus() {
	if (lastxoffset && lastyoffset && lastmenuid) {
		initializeMenus(lastxoffset, lastyoffset, lastmenuid);
	}
}
// This trick only works when there is one active menu
window.onresize=reInitializeMenus;

function tagReferral() {

    rx = /referral\=([A-Za-z0-9]+)/;
    matches = rx.exec(location.search);
    if (matches && matches[1]) {

        var mydate = new Date();
        var mytime = mydate.getTime();
        mytime += 2592000000; // 30 days from now
        mydate.setTime(mytime);
        //deleteCookie('referral', '/');
        setCookie('referral', matches[1], mydate, '/');

    }

}

function setCookie(name, value, expires, path, domain, secure) {
    var curCookie = name + "=" + escape(value) +
                    ((expires) ? "; expires=" + expires.toGMTString() : "") +
                    ((path) ? "; path=" + path : "") +
                    ((domain) ? "; domain=" + domain : "") +
                    ((secure) ? "; secure" : "");
    document.cookie = curCookie;
}

function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else
        begin += 2;
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
        end = dc.length;
    return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
                          ((path) ? "; path=" + path : "") +
                          ((domain) ? "; domain=" + domain : "") +
                          "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

tagReferral();

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 emailPrintPage(mypage, winprops, w, h) {
        var winl = (screen.width - w) / 2;
        var wint = (screen.height - h) / 2;
        winprops += ',top='+wint+',left='+winl+',width='+w+',height='+h;
        win = window.open(mypage+'?href='+escape(location.href), 'emailprint', winprops);
        if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an email address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

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 MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_swapImgRestore() {
	var i,x,a=document.MM_sr;
	for (i=0; a&&i < a.length && (x=a[i]) && x.oSrc; i++) x.src=x.oSrc;
}

function checkAll(form,what,uncheck) {
	var i, n, check;
	n = form.elements[what].length;
	if (!n) {
		if (uncheck == 1) {
			form.elements[what].checked=false;
		} else {
			form.elements[what].checked=true;
		}
	} else {
		if (what != "deleteid" || sure()) {
			var checkval;
			if (uncheck == 1) { checkval=false; } else { checkval=true; }
			for (i=0; i < n; i++) {
				check = form.elements[what][i];
				check.checked = checkval;
			}
		}
	}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_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];}}
}

function MM_findObj(n, d) {
	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);
	return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
return win;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


/***********************************************
* Ultimate Fade-In Slideshow (v1.5): © Dynamic Drive (http://www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/
 
////NO need to edit beyond here/////////////
 
var fadearray=new Array() //array to cache fadeshow instances
var fadeclear=new Array() //array to cache corresponding clearinterval pointers
 
var dom=(document.getElementById) //modern dom browsers
var iebrowser=document.all
 
function fadeshow(theimages, fadewidth, fadeheight, borderwidth, delay, pause, displayorder){
this.pausecheck=pause
this.mouseovercheck=0
this.delay=delay
this.degree=10 //initial opacity degree (10%)
this.curimageindex=0
this.nextimageindex=1
fadearray[fadearray.length]=this
this.slideshowid=fadearray.length-1
this.canvasbase="canvas"+this.slideshowid
this.curcanvas=this.canvasbase+"_0"
if (typeof displayorder!="undefined")
theimages.sort(function() {return 0.5 - Math.random();}) //thanks to Mike (aka Mwinter) :)
this.theimages=theimages
this.imageborder=parseInt(borderwidth)
this.postimages=new Array() //preload images
for (p=0;p<theimages.length;p++){
this.postimages[p]=new Image()
this.postimages[p].src=theimages[p][0]
}
 
var fadewidth=fadewidth+this.imageborder*2
var fadeheight=fadeheight+this.imageborder*2
 
if (iebrowser&&dom||dom) //if IE5+ or modern browsers (ie: Firefox)
document.write('<div id="master'+this.slideshowid+'" style="position:relative;width:'+fadewidth+'px;height:'+fadeheight+'px;overflow:hidden;"><div id="'+this.canvasbase+'_0" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);-moz-opacity:10;-khtml-opacity:10;background-color:'+fadebgcolor+'"></div><div id="'+this.canvasbase+'_1" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);-moz-opacity:10;background-color:'+fadebgcolor+'"></div></div>')
else
document.write('<div><img name="defaultslide'+this.slideshowid+'" src="'+this.postimages[0].src+'"></div>')
 
if (iebrowser&&dom||dom) //if IE5+ or modern browsers such as Firefox
this.startit()
else{
this.curimageindex++
setInterval("fadearray["+this.slideshowid+"].rotateimage()", this.delay)
}
}

function fadepic(obj){
if (obj.degree<100){
obj.degree+=12
if (obj.tempobj.filters&&obj.tempobj.filters[0]){
if (typeof obj.tempobj.filters[0].opacity=="number") //if IE6+
obj.tempobj.filters[0].opacity=obj.degree
else //else if IE5.5-
obj.tempobj.style.filter="alpha(opacity="+obj.degree+")"
}
else if (obj.tempobj.style.MozOpacity)
obj.tempobj.style.MozOpacity=obj.degree/101
else if (obj.tempobj.style.KhtmlOpacity)
obj.tempobj.style.KhtmlOpacity=obj.degree/100
}
else{
clearInterval(fadeclear[obj.slideshowid])
obj.nextcanvas=(obj.curcanvas==obj.canvasbase+"_0")? obj.canvasbase+"_0" : obj.canvasbase+"_1"
obj.tempobj=iebrowser? iebrowser[obj.nextcanvas] : document.getElementById(obj.nextcanvas)
obj.populateslide(obj.tempobj, obj.nextimageindex)
obj.nextimageindex=(obj.nextimageindex<obj.postimages.length-1)? obj.nextimageindex+1 : 0
if (obj.theimages[obj.nextimageindex].length >= 4 && obj.theimages[obj.nextimageindex][3] > 0)
	setTimeout("fadearray["+obj.slideshowid+"].rotateimage()", obj.theimages[obj.nextimageindex][3])
else
	setTimeout("fadearray["+obj.slideshowid+"].rotateimage()", obj.delay)
}
}
 
fadeshow.prototype.populateslide=function(picobj, picindex){
var slideHTML=""
slideHTML='<a href="home.htm">'
slideHTML+='<img src="'+this.postimages[picindex].src+'" border="'+this.imageborder+'px">'
slideHTML+='</a>'
picobj.innerHTML=slideHTML
}
 
 
fadeshow.prototype.rotateimage=function(){
if (this.pausecheck==1) //if pause onMouseover enabled, cache object
var cacheobj=this
if (this.mouseovercheck==1)
setTimeout(function(){cacheobj.rotateimage()}, 100)
else if (iebrowser&&dom||dom){
this.resetit()
var crossobj=this.tempobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)
crossobj.style.zIndex++
fadeclear[this.slideshowid]=setInterval("fadepic(fadearray["+this.slideshowid+"])",1)
this.curcanvas=(this.curcanvas==this.canvasbase+"_0")? this.canvasbase+"_1" : this.canvasbase+"_0"
}
else{
var ns4imgobj=document.images['defaultslide'+this.slideshowid]
ns4imgobj.src=this.postimages[this.curimageindex].src
}
this.curimageindex=(this.curimageindex<this.postimages.length-1)? this.curimageindex+1 : 0
}
 
fadeshow.prototype.resetit=function(){
this.degree=2
var crossobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)
if (crossobj.filters&&crossobj.filters[0]){
if (typeof crossobj.filters[0].opacity=="number") //if IE6+
crossobj.filters(0).opacity=this.degree
else //else if IE5.5-
crossobj.style.filter="alpha(opacity="+this.degree+")"
}
else if (crossobj.style.MozOpacity)
crossobj.style.MozOpacity=this.degree/101
else if (crossobj.style.KhtmlOpacity)
crossobj.style.KhtmlOpacity=obj.degree/100
}
 
 
fadeshow.prototype.startit=function(){
var crossobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)
this.populateslide(crossobj, this.curimageindex)
if (this.pausecheck==1){ //IF SLIDESHOW SHOULD PAUSE ONMOUSEOVER
var cacheobj=this
var crossobjcontainer=iebrowser? iebrowser["master"+this.slideshowid] : document.getElementById("master"+this.slideshowid)
crossobjcontainer.onmouseover=function(){cacheobj.mouseovercheck=1}
crossobjcontainer.onmouseout=function(){cacheobj.mouseovercheck=0}
}
this.rotateimage()
}



