// common.js
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

if (self.location != top.location) { top.location = self.location; }


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

var overlayLoadingContent;


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

// DOM-ready watcher
// probably should be dynamically inserted into page if required
function domReady(reqelem) {
	//start or increment the counter
	this.n = typeof this.n == 'undefined' ? 0 : this.n + 1;
	
	if (document.getElementById && document.getElementById(reqelem) != null) {
		//reqfunc();
		// return true;
	}
	
	else if(this.n < 60) {
		//restart the watcher, max 15 secs
		setTimeout('domReady()', 250);
	}
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// function init_main()
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// do all the things that need doing when the page loads

function init_main() {
	
	self.name='mainwindow';
	
	self.focus();
	
	P7_Snap('toppic','weather',10,145);
	
	display_block('weather');
	
	overlayLoadingContent = document.getElementById('overlaycontent').innerHTML;
	
	//find first field of first form and focus()
	
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// function resize_main()
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

function resize_main() {
	
	P7_Snap('toppic','weather',10,145);
	
	//position_gizmo();
	
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// function find_object()
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

/**
 * finds the object with passed ID
 * 
 * @param string objId
 * 
 * @return object (with the passed objId string)
 * 
 */

function find_object(objId) {
	
	return document.getElementById(objId);
	
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// function display_block()
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

/**
 * function display_block()
 * 
 * 
 * 
 */

function display_block(objDetail) {
	
	var objToShow = (typeof(objDetail) == 'string') ? find_object(objDetail) : objDetail;
	
	objToShow.style.display = 'block';
	
}

/**
 * function display_none()
 * 
 * 
 * 
 */

function display_none(objDetail) {
	
	var objToHide = (typeof(objDetail) == 'string') ? find_object(objDetail) : objDetail;
	
	objToHide.style.display = 'none';
	
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// function find_position()
// finds out where an element object is on the page
// receives entire object
// find_position(this)
// returns X & Y co-ords as an array

function find_position(obj) {
	
	var elemX = 0;
	var elemY = 0;
	
	if (obj.offsetParent) {
		
		do {
			elemX += obj.offsetLeft;
			elemY += obj.offsetTop;
		}
		while (obj = obj.offsetParent);
		
		//return [elemX,elemY];
		return Array(elemX, elemY);
	}
	
	else {
		return false;
	}
}

// function set_position()
// receives entire object(s)
// set_position(this, this, int, int)
// returns X & Y co-ords as an array
function set_position(subjectObj, anchorObj, reqOffsetX, reqOffsetY) {
	
	var anchorPosition = find_position(anchorObj);
	
	if (anchorPosition != false) {
		
		var reqPosnX = anchorPosition[0] + reqOffsetX;
		var reqPosnY = anchorPosition[1] + reqOffsetY;
		
		subjectObj.style.left = reqPosnX + 'px';
		subjectObj.style.top = reqPosnY + 'px';
		
	}
	
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
//  
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

function hotelsearchinput_focus() {
	
	var hotelSearchInput = document.getElementById('hotelsearchinput');
	
	hotelSearchInput.className = 'inputon';
	
	
	if (hotelSearchInput.value == hotelSearchInput.title) {
		
		hotelSearchInput.value = '';
		
	}
	
}

function hotelsearchinput_blur() {
	
	var hotelSearchInput = document.getElementById('hotelsearchinput');
	
	hotelSearchInput.className = 'inputoff';
	
	if (hotelSearchInput.value == '') {
		
		hotelSearchInput.value = hotelSearchInput.title;
		
	}
	
}

function hotelsearchinput_suggest() {
	// set timeout 3 secs
	// ajax search suggest
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// function show_calendar()
function show_calendar() {
	
	var calendarIcon = document.getElementById('calendaricon');
	
	var iconPosn = find_position(calendarIcon);
	// Array(elemX, elemY);
	var iconX = iconPosn[0];
	var iconY = iconPosn[1];
	
	var reqCalendarX = (iconX - 445);
	var reqCalendarY = (iconY + 31);
	
	var popupCalendarDiv = document.getElementById('popcalendar');
	
	popupCalendarDiv.style.left = reqCalendarX + 'px';
	popupCalendarDiv.style.top = reqCalendarY + 'px'; 
	// TODO: function set_position(obj/string)
	
	display_block('popcalendar');
	
}

// function hide_calendar()
function hide_calendar() {
	
	display_none('popcalendar');
	
	// store dates if user has selected
	// might happen automatically ??
	// if so can remove this function
	
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* main overlay */
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// function init_overlaycontent()
// sets overlay content container position, width and height
// receives topMargin, reqWidth, reqHeight
// tested in IE7, FF3, Chrome
function init_overlaycontent(topMargin, reqWidth, reqHeight) {
	
	var curScrollPos = document.documentElement.scrollTop;
	
	var overlaycontentwrapper = document.getElementById('overlaycontentwrapper');
	
	var reqScrollPos = (curScrollPos + topMargin);
	
	overlaycontentwrapper.style.marginTop = reqScrollPos + 'px';
	
	overlaycontentwrapper.style.width = reqWidth + 'px';
	
	overlaycontentwrapper.style.height = reqHeight + 'px';
		
}

// function set_overlay_height()
// sets overlay height to content height
// tested in IE7, FF3
// not working in chrome
function set_overlay_height() {
	


	// find scrollHeight
	var docHeight = document.documentElement.scrollHeight;
	
	// set overlay height to scrollHeight
	document.getElementById('overlay').style.height = docHeight + 'px';
	
}

// function hide_overlay()
// also resets overlay content to default
function hide_overlay() {
	
	display_none('overlay');
	
	document.getElementById('overlaycontent').innerHTML = overlayLoadingContent;
	
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// function affiliate_iframe()
// TODO: pass reqWidth
function affiliate_iframe(linkHref) {
	
	// display_block('overlay');
	//set_overlay_height();
	
	var reqTopMargin = 30;
	
	var reqHeight = window.screen.availHeight; //  - (reqTopMargin + 20)
	
	init_overlaycontent(reqTopMargin, 880, reqHeight);
		
	//alert(linkHref);
	
	document.getElementById('overlaycontent').innerHTML = '<iframe id="hcrtgframe" frameborder="0" src="' + linkHref + '">Your browser doesn\'t support iframes, <a href="' + linkHref + '" target="_blank">please click this link for full hotel details and online booking</a></iframe>';
	
	document.getElementById('hcrtgframe').style.height = '850px';
	
	set_overlay_height();
	
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// function cartrawler_search()
// not working cos cartrawler page busts frames
function cartrawler_search(formObject) {
	
	display_block('overlay');
	set_overlay_height();
	init_overlaycontent(80, 800, 450);
	
	//var carTrawlerUrl = 'https://www.cartrawler.com/affiliates/afullrequestBook.asp?clientID=169738&countryID=AU&pickupID=1723&returnID=1723&pickupDate=03&pickupMonth=9&pickupYear=2009&returnDate=07&returnMonth=9&returnYear=2009&pickupHour=10&pickupMinute=0&returnHour=10&returnMinute=0&age=46&currencyID=AUD&carGroupID=0&residence=Australia&residenceID=AU#book';
	//alert(carTrawlerUrl);
	//var innerContent = '<iframe id="carTrawlerFrame" src="' + carTrawlerUrl + '">Your browser doesn\'t support iframes</iframe>';
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

// function copyFieldValue()
// may need to add optional substring length
function copyFieldValue(sourceString, targetField) {
	// parseString(sourceString);
	document.getElementById(targetField).value = sourceString;
	// substring sourceValue if required
	// string to lower if required
}

// function countPassChars()
// counts length of a string
function countShowChars(sourceString, targetSpan) {
	// parseString(sourceString);
	document.getElementById(targetSpan).innerHTML = sourceString.length;
	// if special chars add to count length
}

// duplicate listingpic to sidepic - individual listings pages
function duplicateSidePic() {
	var sourcePic = document.getElementById("listingpic");
	var targetPic = document.getElementById("sidepic");
	targetPic.src = sourcePic.src;
	targetPic.alt = sourcePic.alt;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
////// AJAX functions /////////

// function create_ajax_object()
// function to create an XMLHttp Object.
function create_ajax_object() {	
	var ajaxObject = false;	
	if (window.XMLHttpRequest) {
		ajaxObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		ajaxObject = new ActiveXObject('Microsoft.XMLHTTP');
	}
	return ajaxObject;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// function set_path()
function set_path(fileLevel) {
	//alert(location.hostname);
	//var filesRoot = '';
	var filesRoot = (fileLevel == 1) ? '' : (fileLevel == 2) ? '../' : '../../';
	
	return filesRoot;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// function listing_overlay()
// TODO: pass reqWidth
function listing_overlay(detailUrl, fileLevel) {
	
	display_block('overlay');
	set_overlay_height();
	
	// TODO: get available screen height
	// window.screen.availHeight
	
	var reqTopMargin = 30;
	
	var reqHeight = window.screen.availHeight; //  - (reqTopMargin + 20)
	
	init_overlaycontent(reqTopMargin, 780, reqHeight);
	
	//alert(detailUrl);
	
	load_overlay_content(detailUrl, fileLevel);
		
	set_overlay_height();
	
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// function to load content from specified file into the main content cell
// TODO: set back button - history object to calling location.href
function load_overlay_content(filePath, fileLevel) {
		
	// scroll window back to top
	//window.scrollTo(0,0);
	
	//init_overlaycontent(topMargin, reqWidth, reqHeight)
	
	// escape ajax call
	var escapedFilepath = escape(filePath);
	//alert(escapedFilepath);
	
	// set path to server page
	var filesRoot = set_path(fileLevel);
	
	// create relative URL to server page with search string
	var serverPage = filesRoot + 'ajax/content.php?source=' + escapedFilepath;
	
	//alert(serverPage);
	
	var targetElement = document.getElementById('overlaycontent');
	
	ajaxObject = create_ajax_object();
	ajaxObject.open('GET', serverPage);
	
	ajaxObject.onreadystatechange = function() {
		
		if (ajaxObject.readyState == 1 || ajaxObject.readyState == 2 || ajaxObject.readyState == 3) {
			
			//targetElement.innerHTML = '<div id="ajaxloader">&nbsp;</div>';
			//targetElement.innerHTML = '<h1>Retreiving Content....</h1><p>' + serverPage + '</p>';
			
			// set timeout of 45 seconds
			// if timeout display link to filepath with ajax=no appended to search string
			
		}
		
		if (ajaxObject.readyState == 4) {
			
			if (ajaxObject.status == 200) {
								
				// replace main content
				targetElement.innerHTML = ajaxObject.responseText;
				
			}
			
			// if 404 or 500 call respective page
			
		} //end if (ajaxObject.status == 200)
		
	} //end if (ajaxObject.readyState == 4)
	
	ajaxObject.send(null);
		
} //end function load_main_content

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// function to process a simple XMLHttpRequest (one target element)
// recieves server side page, target element, get or post method, post string if post method
function processajax_simple(serverPage, targetElement, getOrPost, postStr) {
	
	if (typeof(getOrPost) == 'undefined') getOrPost = 'get';
	if (typeof(postStr) == 'undefined') postStr = null;
	
	ajaxObject = create_ajax_object();
	var targetElement = document.getElementById(targetElement);
	
	if (ajaxObject) {
		// if get method
		if (getOrPost == 'get'){
			ajaxObject.open('GET', serverPage);
			ajaxObject.onreadystatechange = function() {
				if (ajaxObject.readyState == 1 || ajaxObject.readyState == 2 || ajaxObject.readyState == 3) {
					targetElement.innerHTML = '<div id="ajaxloader">&nbsp;</div>';
				}
				if (ajaxObject.readyState == 4 && ajaxObject.status == 200) { // split this depending on status
					targetElement.innerHTML = ajaxObject.responseText;
				}
			}
			ajaxObject.send(null);
		} // end if get method
		// if post method
		else {
			ajaxObject.open('POST', serverPage, true);
			ajaxObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
			ajaxObject.onreadystatechange = function() {
				if (ajaxObject.readyState == 4 && ajaxObject.status == 200) {
					targetElement.innerHTML = ajaxObject.responseText;
				}
			}
			ajaxObject.send(postStr);
		} // end if post method	
	} // end if (ajaxObject)
	
	else {
		// targetElement.innerHTML = 'Cannot Create AJAX Object';
	}
	
} //end function processajax_simple

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
////// Adobe - Macromedia functions /////////
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_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_swapImgRestore() { //v3.0
  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 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];}
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
////// projectseven.com functions /////////
function P7_Snap() { //v2.67 by PVII
 var g,x,y,ox,bx,oy,p,tx,a,b,k,d,da,e,el,tw,q0,xx,yy,w1,pa='px',args=P7_Snap.arguments;a=parseInt(a);
 if(document.layers||window.opera){pa='';}for(k=0;k<(args.length);k+=4){
 if((g=MM_findObj(args[k]))!=null){if((el=MM_findObj(args[k+1]))!=null){
 a=parseInt(args[k+2]);b=parseInt(args[k+3]);x=0;y=0;ox=0;oy=0;p="";tx=1;
 da="document.all['"+args[k]+"']";if(document.getElementById){
 d="document.getElementsByName('"+args[k]+"')[0]";if(!eval(d)){
 d="document.getElementById('"+args[k]+"')";if(!eval(d)){d=da;}}
 }else if(document.all){d=da;}if(document.all||document.getElementById){while(tx==1){
 p+=".offsetParent";if(eval(d+p)){x+=parseInt(eval(d+p+".offsetLeft"));y+=parseInt(eval(d+p+".offsetTop"));
 }else{tx=0;}}ox=parseInt(g.offsetLeft);oy=parseInt(g.offsetTop);tw=x+ox+y+oy;
 if(tw==0||(navigator.appVersion.indexOf("MSIE 4")>-1&&navigator.appVersion.indexOf("Mac")>-1)){
  ox=0;oy=0;if(g.style.left){x=parseInt(g.style.left);y=parseInt(g.style.top);}else{
  w1=parseInt(el.style.width);bx=(a<0)?-5-w1:-10;a=(Math.abs(a)<1000)?0:a;b=(Math.abs(b)<1000)?0:b;
  x=document.body.scrollLeft+event.clientX+bx;y=document.body.scrollTop+event.clientY;}}
 }else if(document.layers){x=g.x;y=g.y;q0=document.layers,dd="";for(var s=0;s<q0.length;s++){
  dd='document.'+q0[s].name;if(eval(dd+'.document.'+args[k])){x+=eval(dd+'.left');y+=eval(dd+'.top');
  break;}}}e=(document.layers)?el:el.style;xx=parseInt(x+ox+a),yy=parseInt(y+oy+b);
 if(navigator.appVersion.indexOf("MSIE 5")>-1 && navigator.appVersion.indexOf("Mac")>-1){
  xx+=parseInt(document.body.leftMargin);yy+=parseInt(document.body.topMargin);}
 e.left=xx+pa;e.top=yy+pa;}}}
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
////// Google Maps functions /////////
// requires body onload to call function and div to be on the page
// called by PHP config file if required
function loadGoogleMap(centerLat, centerLong, zoomLevel) {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("googlemap"));
		map.setCenter(new GLatLng(centerLat, centerLong), zoomLevel);
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl(), new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(5, 5)));
		map.setMapType(G_HYBRID_MAP);
		map.addOverlay(new GMarker(map.getCenter())); 
	}
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// popup windows
var newWindow = null;
function closeWin() {
	if (newWindow != null) {
		if (!newWindow.closed) {
			newWindow.close();
		}
	}
}
function popUpWin(url, type, strWidth, strHeight){	
	closeWin();	
	var tools;
	if (type == "extSite") { // pass nulls in function call
		tools = "";
	}	
	else if (type == "map"){
		strWidth += 20;
		strHeight += 30;
		tools = "resizable=yes,toolbar=no,location=no,scrollbars=no,menubar=no,width="+strWidth+",height="+strHeight+",top=30,left=10";
	}	
	else if (type == "webcam"){
		strWidth += 20;
		strHeight += 30;
		tools = "resizable=yes,toolbar=no,location=no,scrollbars=no,menubar=no,width="+strWidth+",height="+strHeight+",top=30,left=10";
	}	
	else if (type == "vtour") {
		strWidth += 20;
		strHeight += 30;
		tools = "resizable=yes,toolbar=no,location=no,scrollbars=no,menubar=no,width="+strWidth+",height="+strHeight+",top=30,left=10";
	}
	else if (type == "custom"){
		strWidth += 20;
		strHeight += 30;
		tools = "resizable=yes,toolbar=no,location=no,scrollbars=no,menubar=no,width="+strWidth+",height="+strHeight+",top=30,left=10";
	}	

	newWindow = window.open(url, 'newWindow', tools);
	newWindow.focus();
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// bookmark site
function bookmark(url, title) {
	if( window.external ) window.external.AddFavorite( url, title); // IE Favorite
	else if(window.sidebar) window.sidebar.addPanel(title, url, ""); // Mozilla Firefox Bookmark
	else if(window.opera && window.print) return true; // Opera Hotlist
}

function writelink() { // development version
	if (window.external) document.write('<a href="javascript:bookmark()");">Add to Favorites</a>');
	else  if (window.sidebar) document.write('<a href="javascript:bookmark()");">Bookmark Page</a>');
	else if (window.opera && window.print) document.write('<a href="javascript:bookmark()");">Add Bookmark</a>');
}


// resize image once page has loaded - in case dimensions cannot be determined with PHP - not in use
function resizePic(targetWidth) {
	var thePic = document.getElementById("listingpic");
	var imgWidth = thePic.width;
	var imgHeight = thePic.height;
	alert("thePic width : " + imgWidth + "px \n height : " + imgHeight + "px");

}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/////////// Yaromat Functions ///////////

// form input validation, replace with AJAX inline validation including email address mx validation
function YY_checkform() { //v4.02
  var args = YY_checkform.arguments; var myDot=true; var myV=''; var myErr='';var addErr=false;
  var myForm = MM_findObj(args[0]);
  for (var i=1; i<args.length;i=i+4){
    if (args[i+1].charAt(0)=='#'){var myReq=true; args[i+1]=args[i+1].substring(1);}else{myReq=false}
    var myObj = MM_findObj(args[i].replace(/\[\d+\]/ig,""));//eval(myForm+'.'+args[i]);
    myV=myObj.value;
    if (myObj.type=='text'||myObj.type=='password'){
      if (myReq&&myObj.value.length==0){addErr=true}
      if ((myV.length>0)&&(args[i+2]==1)){ //fromto
        if (isNaN(parseInt(myV))||myV<args[i+1].substring(0,args[i+1].indexOf('_'))/1||myV > args[i+1].substring(args[i+1].indexOf('_')+1)/1){addErr=true}
      }
      if ((myV.length>0)&&(args[i+2]==2)&&!myV.match("^[\\w\\.=-]+@[\\w\\.-]+\\.[a-z]{2,4}$")){addErr=true}// email
      if ((myV.length>0)&&(args[i+2]==3)){ // date
        var myD=''; myM=''; myY=''; myYY=0; myDot=true;
        for(var j=0;j<args[i+1].length;j++){
          var myAt = args[i+1].charAt(j);
          if(myAt=='D')myD=myD.concat(myObj.value.charAt(j));
          if(myAt=='M')myM=myM.concat(myObj.value.charAt(j));
          if(myAt=='Y'){myY=myY.concat(myObj.value.charAt(j)); myYY++}
          if(myAt=='-'&&myObj.value.charAt(j)!='-')myDot=false;
          if(myAt=='.'&&myObj.value.charAt(j)!='.')myDot=false;
          if(myAt=='/'&&myObj.value.charAt(j)!='/')myDot=false;
        }
        if(myD/1<1||myD/1>31||myM/1<1||myM/1>12||myY.length!=myYY)myDot=false;
        if(!myDot){addErr=true}
       }
      if ((myV.length>0)&&(args[i+2]==4)){ // time
        myDot=true;
        var myH = myObj.value.substr(0,myObj.value.indexOf(':'))/1;
        var myM = myObj.value.substr(myObj.value.indexOf(':')+1,2)/1;
                var myP = myObj.value.substr(myObj.value.indexOf(':')+3,2);
        if ((args[i+1])=="12:00pm"){if(myH<0||myH>12||myM<0||myM>59||(myP!="pm"&&myP!="am")||myObj.value.length>7)myDot=false;}
        if ((args[i+1])=="12:00"){if(myH<0||myH>12||myM<0||myM>59||myObj.value.length>5)myDot=false;}
        if ((args[i+1])=="24:00"){if(myH<0||myH>23||myM<0||myM>59||myObj.value.length>5)myDot=false;}
        if(!myDot){addErr=true}
      }
      if (myV.length>0&&args[i+2]==5){
            var myObj1 = MM_findObj(args[i+1].replace(/\[\d+\]/ig,""));
            if(!myObj1[args[i+1].replace(/(.*\[)|(\].*)/ig,"")].checked){addErr=true} // check this 2
          }
    }else
    if (!myObj.type&&myObj.length>0&&myObj[0].type=='radio'){
      if (args[i+2]==1&&myObj.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
      if (args[i+2]==2){
        var myDot=false;
        for(var j=0;j<myObj.length;j++){myDot=myDot||myObj[j].checked}
        if(!myDot){myErr+='* ' +args[i+3]+'\n'}
      }
    }else
    if (myObj.type=='checkbox'){
      if(args[i+2]==1&&myObj.checked==false){addErr=true}
      if(args[i+2]==2&&myObj.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
    }else
    if (myObj.type=='select-one'||myObj.type=='select-multiple'){
      if(args[i+2]==1&&myObj.selectedIndex/1==0){addErr=true}
    }else
    if (myObj.type=='textarea'){
      if(myV.length<args[i+1]){addErr=true}
    }
    if (addErr){myErr+='* '+args[i+3]+'\n'; addErr=false}
  }
  if (myErr!=''){alert('The following required information is incomplete or contains errors:\t\t\t\t\t\n\n'+myErr)}
  document.MM_returnValue = (myErr=='');
}

///////////////////////////////////////////
function show(object) {
  if (document.getElementById) {
    document.getElementById(object).style.visibility = 'visible';
  }
  else if (document.layers && document.layers[object]) {
    document.layers[object].visibility = 'visible';
  }
  else if (document.all) {
    document.all[object].style.visibility = 'visible';
  }
}

function hide(object) {
  if (document.getElementById) {
    document.getElementById(object).style.visibility = 'hidden';
  }
  else if (document.layers && document.layers[object]) {
    document.layers[object].visibility = 'hidden';
  }
  else if (document.all) {
    document.all[object].style.visibility = 'hidden';
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

function isArray() {
	if (typeof arguments[0] == 'object') {  
		var criterion = arguments[0].constructor.toString().match(/array/i); 
		return (criterion != null);  
	}
	return false;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

