// JavaScript Document
	function MM_callJS(jsStr) { //v2.0
	  return eval(jsStr)
	}
	function maximizeWindow( ) {
		var offset = (navigator.userAgent.indexOf("Mac") != -1 || 
					  navigator.userAgent.indexOf("Gecko") != -1 || 
					  navigator.appName.indexOf("Netscape") != -1) ? 0 : 4;
		window.moveTo(-offset, -offset);
		window.resizeTo(screen.availWidth + (2 * offset), 
					   screen.availHeight + (2 * offset));
	}
	
	function printPage()
	{
		document.getElementById('print').style.visibility = 'hidden';
		// Do print the page
		if (typeof(window.print) != 'undefined') {
			window.print();
		}
		document.getElementById('print').style.visibility = '';
	}
	function MM_goToURL() { //v3.0
	  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
	  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
	}
	
	function MM_jumpMenu(targ,selObj,restore){ //v3.0
	  //eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	  if (selObj.options[selObj.selectedIndex].value != '#')
	  	eval("window.open('"+selObj.options[selObj.selectedIndex].value+"', '"+targ+"', 'status=yes, menubar=no, scrollbars=yes, resizable=yes')");
	  if (restore) selObj.selectedIndex=0;
	}
	function MM_openBrWindow(theURL,winName,features) { //v2.0
		if (features == 'no_menu')
			features = 'status=yes, menubar=no, scrollbars=yes, resizable=yes';
		window.open(theURL,winName,features);
	}
	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_jumpMenuGo(selName,targ,restore){ //v3.0
	  var selObj = MM_findObj(selName); if (selObj) MM_jumpMenu(targ,selObj,restore);
	}

	function isValidType(flag, oInput, oType ) {
		switch( oType.toLowerCase() ) {
			case 'text':
				if ((!oInput.value) && (!flag))
				{
					oInput.focus();
				}
				return oInput.value;
			case 'select':
				if (!oInput.selectedIndex && !flag)
				{
					oInput.focus();
				}
				return oInput.selectedIndex;
			case 'photo':
				if(oInput.value == "" || oInput.value == null) {
					  //oInput.focus();
					  //return false;
				  } else {
					  validformFile = /(.jpg|.gif|.png)$/;			
					  if(!validformFile.test(oInput.value.toLowerCase())){
						  //alert("Only JPG/GIF/PNG files are supported. Please try again");
						  if (!flag){
							  oInput.focus();
							  oInput.select();
						  }
						  return false;
					  }
				  }
				 return true;
			case 'email':
				if ( oInput.value && !oInput.value.replace( /[\w\-\+]+(\.[\w\-\+]+)*@([\w\-áàäçéèêñóòôöüæøå]+\.)+[a-z]+/i, "" ) )
				{ return true; }
				else {
					if (!flag)
						oInput.focus();
					return false;
				}
			case 'radio':
				for (var i=0; i < oInput.length; i++){
					if (oInput[i].checked){ break; }
				}
				if (i == oInput.length) { 
					if (!flag){
						oInput[0].focus();
						oInput[0].select();
					}
					return false; 
				}
				else { return true; }
			case 'number':
				if( !oInput.value ) { 
					if (!flag)
						oInput.focus();
					return false; 
				} else {
					for( var mXi = 0; mXi < oInput.value.length; mXi++ ) {
						if( oInput.value.charAt( mXi ) != '' + parseInt( oInput.value.charAt( mXi ) ) + '' )
						{ 
							if (!flag)
								oInput.focus();
							return false; 
						}
					}
					return true;
				}
			case 'date':
				var re_date = /^(\d\d\d\d)\-(\d\d)\-(\d\d)/;
				if (!re_date.exec(oInput.value)){
					if (!flag)
						oInput.focus();
					return false;
				}else{
					if (!checkDate(oInput)){
						if (!flag)
							oInput.focus();
						return false;
					}else{
						return true;
					}
				}
			case 'date2':
				var re_date = /^(\d\d\d\d)\-(\d\d)\-(\d\d)/;
				if (!re_date.exec(oInput.value)){
					if (!flag)
						oInput.focus();
					return false;
				}else{
					if (!checkDate2(oInput)){
						if (!flag)
							oInput.focus();
						return false;
					}else{
						return true;
					}
				}

			case 'time':
				var re_date = /^(\d+)\:(\d+)/;
				if (!re_date.exec(oInput.value)){
					if (!flag)
						oInput.focus();
					return false;
				}else{
					return true;
				}
			case 'datetime':
				var re_date = /^(\d+)\-(\d+)\-(\d+)\ (\d+)\:(\d+)/;
				if (!re_date.exec(oInput.value)){
					if (!flag)
						oInput.focus();
					return false;
				}else{
					return true;
				}
		}
	}
	
	function checkDate(val) {
		var mo, day, yr;
		var entry = val.value;
		var re = /\b\d{4}[\/-]\d{1,2}[\/-]\d{1,2}\b/;
		if (re.test(entry)) {
			var delimChar = (entry.indexOf("/") != -1) ? "/" : "-";
			var delim1 = entry.indexOf(delimChar);
			var delim2 = entry.lastIndexOf(delimChar);
			yr = parseInt(entry.substring(0, delim1), 10);
			mo = parseInt(entry.substring(delim1+1, delim2), 10);
			day = parseInt(entry.substring(delim2+1), 10);
			var testDate = new Date(yr, mo-1, day);
			if (testDate.getDate( ) == day) {
				if (testDate.getMonth( ) + 1 == mo) {
					if (testDate.getFullYear( ) == yr) {
						var nowDate = new Date();
						var nowDateTime = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate());
						if (testDate.getTime() > nowDateTime.getTime()){
							return false;
						}			
						return true;
					} else {
						return false;
					}
				} else {
					return false;
				}
			} else {
				return false;
			}
		} else {
			return false;
		}
		return false;
	}
	
	function checkDate2(val) {
		var mo, day, yr;
		var entry = val.value;
		var re = /\b\d{4}[\/-]\d{1,2}[\/-]\d{1,2}\b/;
		if (re.test(entry)) {
			var delimChar = (entry.indexOf("/") != -1) ? "/" : "-";
			var delim1 = entry.indexOf(delimChar);
			var delim2 = entry.lastIndexOf(delimChar);
			yr = parseInt(entry.substring(0, delim1), 10);
			mo = parseInt(entry.substring(delim1+1, delim2), 10);
			day = parseInt(entry.substring(delim2+1), 10);
			var testDate = new Date(yr, mo-1, day);
			if (testDate.getDate( ) == day) {
				if (testDate.getMonth( ) + 1 == mo) {
					if (testDate.getFullYear( ) == yr) {
						return true;
					} else {
						return false;
					}
				} else {
					return false;
				}
			} else {
				return false;
			}
		} else {
			return false;
		}
		return false;
	}

	
	function checkUserPass(aForm){
		var flag = 0;
		var msg = "";
		if(!isValidType(flag, aForm.txtUser, 'text')){ msg = msg + "Please input your user name !\n"; flag = 1; }
		if(!isValidType(flag, aForm.txtPass, 'text')){ msg = msg + "Please input your password !\n"; flag = 1; }
		if (flag == 1){
			alert(msg);
			return false;
		}else{
			return true;
		}
	}
	function confirmLink(theLink, msg)
	{
		// Confirmation is not required in the configuration file
		// or browser is Opera (crappy js implementation)
		if (typeof(window.opera) != 'undefined') {
			return true;
		}
	
		var is_confirmed = confirm(msg);
		if (is_confirmed) {
			theLink.href += '&is_js_confirmed=1';
		}
	
		return is_confirmed;
	} // end of the 'confirmLink()' function
	function confirmForm(msg1)
	{
		// Confirmation is not required in the configuration file
		// or browser is Opera (crappy js implementation)
		if (typeof(window.opera) != 'undefined') {
			return true;
		}
	
		return confirm(msg1);
	} // end of the 'confirmLink()' function
	
	function setCheckboxes(the_form, do_check)
	{
		var elts      = (typeof(document.forms[the_form].elements['cbox[]']) != 'undefined')
					  ? document.forms[the_form].elements['cbox[]']
					  : (typeof(document.forms[the_form].elements['cbox[]']) != 'undefined')
			  ? document.forms[the_form].elements['cbox[]']
			  : document.forms[the_form].elements['cbox[]'];
		var elts_cnt  = (typeof(elts.length) != 'undefined')
					  ? elts.length
					  : 0;
	
		if (elts_cnt) {
			for (var i = 0; i < elts_cnt; i++) {
				elts[i].checked = do_check;
			} // end for
		} else {
			elts.checked        = do_check;
		} // end if... else
	
		return true;
	} // end of the 'setCheckboxes()' function
	
	function refreshForm(){
		location.reload();
	}
	function goAnchor(loc){
		location.hash=loc;
	}
	function startTimeChange(txtBox, val){
		txtBox.value = val;
	}
	
	function hidShow(elem, id, total){
		for (var i=1; i<= total; i++){
			if (i != id){
				eval(elem+i+".style.display='none'");
			}else{
				eval(elem+i+".style.display='block'");
			}
		}
	}
	function hidShowEle(elemName , val){
		document.getElementById(elemName).style.display=val;
	}
	
	function radCheck(radBt, num){
		if (typeof radBt[num] != 'undefined'){
			radBt[num].checked = 1;
		}
	}
