//window.onerror = ErrorHandler;

function ErrorHandler(msg, url, ln) {
	alert( 'Error: ' + msg + '\nLine: ' + ln);
	var a, i, s=( 'A message from your ErrorHandler function:\nLine ' + ln + ': ' + msg + '\n------------' );
	for(i in event) { 
		if((a=event[i])) { 
			s.push( i+'\t'+a ); 
			if(typeof a=='object') {
				for(j in a) { 
					s.push( '\t'+j+'\t'+a[j] ); 
				} 
			}
		} 
	}
	document.forms.f.Output.value = s.join('\n');
	return true;
}

function addEvent (obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}


/* Fixed "Click to activate and use this object" */
/*
function fixIE () {
	try {
		var objects = document.getElementsByTagName("object");
		for (var i = 0; i < objects.length; i++)
		{
			objects[i].outerHTML = objects[i].outerHTML;
		}
	} catch (e) {}

}
*/
function fixIE () {
	try {
		var strBrowser = navigator.userAgent.toLowerCase(); 
		if(strBrowser.indexOf("msie") > -1 && strBrowser.indexOf("mac") < 0){  
			var theObjects = document.getElementsByTagName('object');  
			var theObjectsLen = theObjects.length;  
			for (var i = 0; i < theObjectsLen; i++) {   
				if(theObjects[i].outerHTML){    
					if(theObjects[i].data){     
						theObjects[i].removeAttribute('data');    
					}    
					var theParams = theObjects[i].getElementsByTagName("param");    
					var theParamsLength = theParams.length;    
					for (var j = 0; j < theParamsLength; j++) {      
						if(theParams[j].name.toLowerCase() == 'flashvars'){        
							var theFlashVars = theParams[j].value;      
						}    
					}    
					var theOuterHTML = theObjects[i].outerHTML;    
					var re = /<param name="FlashVars" value="">/ig;    
					theOuterHTML = theOuterHTML.replace(re, "<param name='FlashVars' value='" + theFlashVars + "'>");    
					theObjects[i].outerHTML = theOuterHTML;   
				}  
			} 
		}
	} catch (e) {}

}
//fixIE()
addEvent( window, "load", fixIE );

function CheckAll(chb, name) {
	for (var i=0; i<document.forms[0].elements.length; i++)
	{
		var e = document.forms[0].elements[i];
		if ((e.name != chb.name) && (e.type=='checkbox') && (e.name == name))
		{
			e.checked = chb.checked;
		}
	}
}

function SwapFlash(currSWF, div) {
	var isSelection = currSWF;
	var flashObjStr = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" type="application/x-shockwave-flash" width="545" height="120"><param name="Movie" value="' + isSelection + '" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><embed src="' + isSelection + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="545" height="120" wmode="transparent"></embed></object>';
	document.getElementById(div).innerHTML = flashObjStr;
	//alert(document.getElementById(div).innerHTML);
}

function DoRotate(index, div) {
	index = parseInt(index) + 1;
	if (parseInt(index) >= (banners.length)) {
		index = 0;
	}	
	//Set Banners
	var flashObjStr = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" type="application/x-shockwave-flash" width="545" height="120"><param name="Movie" value="' +  banners[index] + '" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><embed src="' + banners[index] + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="545" height="120" wmode="transparent"></embed></object>';
	document.getElementById(div).innerHTML = flashObjStr;
	setTimeout('DoRotate("'+index+'", "'+div+'")', 20000);
}

function isValidDate(year, month, day)
{
	syear = document.getElementById(year);
	smonth = document.getElementById(month);
	sday = document.getElementById(day);
	maximum = maxDays(syear[syear.selectedIndex].value, smonth[smonth.selectedIndex].value, sday[sday.selectedIndex].value);
	if (maximum <  sday[sday.selectedIndex].value)
	{
		//sday[maximum-1].selected = true;
		sday[maximum].selected = true;
	}
}

// Returns the maximum day number in the specified month. Use leap year calculation.
function maxDays(year, month, day)
{
	if (month == 2)
		return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) ? 29 : 28;
	else
		return (month == 4 || month == 6 || month == 9 || month == 11) ? 30 : 31;
}




function changePic(path, alt, name) {
  var img = new Object();
  img= eval('document.' + name);
  img.src = path;
  img.alt = alt;
}


function GetLocalTimeOffset() {
	var rightNow = new Date();
	var date1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);
	var temp = date1.toGMTString();
	var date2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
	var hoursDiffStdTime = (date1 - date2) / (1000 * 60 * 60);
	document.write("<input type='hidden' name='hoursDiffStdTime' value='" + hoursDiffStdTime + "' />");
	var curr = rightNow.getYear() + "-" + (rightNow.getMonth()+1) + "-" + rightNow.getDate() + " " + rightNow.getHours() + ":" + rightNow.getMinutes();
	document.write("<input type='hidden' name='currentTime' value='" + curr + "' />");
}