function validate(formname) {
	var frmname=formname;
	function days_between(date1, date2) {
var ONE_DAY = 1000 * 60 * 60 * 24
var date1_ms = date1.getTime()
var date2_ms = date2.getTime()
var difference_ms = (date1_ms - date2_ms)
// Convert back to days and return
return Math.round(difference_ms/ONE_DAY)
}
	if(frmname == 'checkavailability'){
				  var txtArrivalDate = document.getElementById('txtArrivalDate').value;
				  var txtDepatureDate = document.getElementById('txtDepatureDate').value; 
				  
					var year1=txtArrivalDate.substring(0,4);
					var month1=txtArrivalDate.substring(5,7);
					var day1=txtArrivalDate.substring(8,10);
					var year2=txtDepatureDate.substring(0,4);
					var month2=txtDepatureDate.substring(5,7);
					var day2=txtDepatureDate.substring(8,10);
					var current_date = new Date()
					var date1=new Date()
					date1.setYear(year1);
					date1.setMonth(month1-1);
					date1.setDate(day1);
					var date2=new Date()
					date2.setYear(year2);
					date2.setMonth(month2-1);
					date2.setDate(day2);
					
					var arrival= days_between(date1,current_date);
					var departure= days_between(date2,current_date);  
					var valdate= days_between(date2,date1);
				  
				     if(txtArrivalDate == "") {
						inlineMsg('txtArrivalDate','<strong>Error</strong><br />Please select the Arrival Date.',2);
						return false;
					  }
					  if(arrival<0) {
						inlineMsg('txtArrivalDate','<strong>Error</strong><br />Please select the Future  Date.',2);
						return false;
					  }
					  if(txtDepatureDate == "") {
						inlineMsg('txtDepatureDate','<strong>Error</strong><br />Please select the  Depature Date.',2);
						return false;
	                  }
					  if(departure <0) {
						inlineMsg('txtDepatureDate','<strong>Error</strong><br />Please select the  Future Date.',2);
						return false;
	                  }
					  if(valdate <0) {
						inlineMsg('txtDepatureDate','<strong>Error</strong><br />select Depature Date is greater than Arrival Date.',2);
						return false;
	                  }
	}
  else if(frmname == 'frmcustomer'){
	  
				  var cust_initial = document.getElementById('cust_initial').value; 
				  var txtfname = document.getElementById('txtfname').value;
				  var email = document.getElementById('email').value;
				  var address = document.getElementById('address').value;
				  var country = document.getElementById('country').value;
				  var code = document.getElementById('code').value;
				  var areacode = document.getElementById('areacode').value;
				  var number = document.getElementById('number').value;
				
				  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
				  var numb1 = /^([0-9]{1,20})$/;///^\d{3}$/ ;
				  var numb2 =/^([0-9]{1,20})$/;// /^\d{4}$/ ;
				  var numb3 = /^([0-9]{1,20})$/;///^\d{8}$/ ;
				  var messageRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim);
					   
					   if(cust_initial == "") {
						inlineMsg('cust_initial','<strong>Error</strong><br />Please select the  Initial.',2);
						return false;
					  }
					  if(txtfname == "") {
						inlineMsg('txtfname','<strong>Error</strong><br />Please enter your Name.',2);
						return false;
					  }
					  if(email == "") {
						 inlineMsg('email','<strong>Error</strong><br />Please enter your email.',2);
						 return false;
					 }
					  if(!email.match(emailRegex)) {
						inlineMsg('email','<strong>Error</strong><br />You have entered an invalid email.',2);
						return false;
					 }
					 if(address == "") {
						inlineMsg('address','<strong>Error</strong><br />Please enter the address.');
						return false;
					}
					 if(country == "") {
						inlineMsg('country','<strong>Error</strong><br />Please enter the Country.');
						return false;
					}
					 if(code == "") {
						inlineMsg('code','<strong>Error</strong><br />Please enter the code.');
						return false;
				   }
				   if(!code.match(numb1)) {
						inlineMsg('code','<strong>Error</strong><br />You have entered an invalid code.(numbers only)',2);
						return false;
					 }
				   if(areacode == "") {
						inlineMsg('areacode','<strong>Error</strong><br />Please enter the areacode.');
						return false;
				   }
				   if(!areacode.match(numb2)) {
						inlineMsg('areacode','<strong>Error</strong><br />You have entered an invalid areacode(numbers only).',2);
						return false;
					 }
					  if(number == "") {
						inlineMsg('number','<strong>Error</strong><br />Please enter the number.');
						return false;
				   }
				   if(!number.match(numb3)) {
						inlineMsg('number','<strong>Error</strong><br />You have entered an invalid Numer(numbers only).',2);
						return false;
					 }
  
	}
	else if(frmname == 'frmoptbank'){
		var cardname1 = document.getElementById('cardname1').value;
		 if(cardname1 == "") {
							inlineMsg('cardname1','<strong>Error</strong><br />Please select your payment interface.');
							return false;
		 }
	
	}
	else if(frmname == 'frmnews') {
		
		 var initial = document.getElementById('initial').value; 
		var txtfname = document.getElementById('txtfname').value;
		 var txtemail = document.getElementById('txtemail').value;
		 var txtphone = document.getElementById('txtphone').value;
     	 var country = document.getElementById('country').value;
		
		 var emailRegexp = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
		// var validnum = /^\d{12}$/ ;
		 var validnum = /^([0-9]{1,20})$/;
		           if(initial == "") {
						inlineMsg('initial','<strong>Error</strong><br />Please select the  Initial.',2);
						return false;
					  }
					 if(txtfname == "") {
						inlineMsg('txtfname','<strong>Error</strong><br />Please enter your Name.',2);
						return false;
					  }
					 if(txtemail == "") {
						 inlineMsg('txtemail','<strong>Error</strong><br />Please enter your email.',2);
						 return false;
					 }
					  if(!txtemail.match(emailRegexp)) {
						inlineMsg('txtemail','<strong>Error</strong><br />You have entered an invalid email.',2);
						return false;
					 }
					 if(txtphone == "") {
						inlineMsg('txtphone','<strong>Error</strong><br />Please enter the phone.');
						return false;
				   }
				   if(!txtphone.match(validnum)) {
						inlineMsg('txtphone','<strong>Error</strong><br />You have entered an invalid phone number.(numbers only)',2);
						return false;
					 }
					  if(country == "") {
						inlineMsg('country','<strong>Error</strong><br />Please enter the Country.');
						return false;
					}
		
	}else if(frmname == 'frmadd') {
	 var langname = document.getElementById('langname').value; 
	  var langcode = document.getElementById('langcode').value;
	 				 if(langname == "") {
						inlineMsg('langname','<strong>Error</strong><br />Please enter the language name.',2);
						return false;
					  }
					 if(langcode == "") {
						inlineMsg('langcode','<strong>Error</strong><br />Please enter the language code.',2);
						return false;
					  }
	
	
	}else if(frmname == 'frmaddmenu') {
		//add menu manager
	 var groupname = document.getElementById('groupname').value; 
	  var order = document.getElementById('order').value;
	 				 if(groupname == "") {
						inlineMsg('groupname','<strong>Error</strong><br />Please enter the main menu name.',2);
						return false;
					  }
					 if(order == "") {
						inlineMsg('order','<strong>Error</strong><br />Please enter the display order.',2);
						return false;
					  }
	
	
	}else if(frmname == 'add_page') {
		//add menu manager
	
	 var page_title = document.getElementById('page_title').value; 
	 var page_language = document.getElementById('page_language').value; 
	 //var page_desc = document.getElementById('page_desc').value; 
	 var page_status = document.getElementById('page_status').value;
	 				 if(page_title == "") {
						inlineMsg('page_title','<strong>Error</strong><br />Please enter the page title.',2);
						return false;
					  }
					 if(page_language == "") {
						inlineMsg('page_language','<strong>Error</strong><br />Please enter the language.',2);
						return false;
					  }
					 /* if(page_desc == "") {
						inlineMsg('page_desc','<strong>Error</strong><br />Please enter the page description.',2);
						return false;
					  }*/
					  if(page_status == "") {
						inlineMsg('page_status','<strong>Error</strong><br />Please select the page status.',2);
						return false;
					  }
	
	}else if(frmname == 'frmaddbanner') {
		 var file= document.getElementById('file').value;
	 				 if(file == "") {
						inlineMsg('file','<strong>Error</strong><br />Please select the banner location.',2);
						return false;
					  }
		
	}else if(frmname == 'frmaddmusic') {
		 var file= document.getElementById('file').value;
	 				 if(file == "") {
						inlineMsg('file','<strong>Error</strong><br />Please select the music location.',2);
						return false;
					  }
		
	}else if(frmname == 'add_cal') {
		//add menu manager
	 var date = document.getElementById('date').value; 
	 var eventTitle = document.getElementById('eventTitle').value; 
	 var eventContent = document.getElementById('eventContent').value; 
	  				 if(date == "") {
						inlineMsg('date','<strong>Error</strong><br />Please click here and select the date.',2);
						return false;
					  }
					 if(eventTitle == "") {
						inlineMsg('eventTitle','<strong>Error</strong><br />Please enter the Title of the Event.',2);
						return false;
					  }
					   if(eventContent == "") {
						inlineMsg('eventContent','<strong>Error</strong><br />Please enter the Contents of the Event.',2);
						return false;
					  }
	
	}else if(frmname == 'frmaddadmin') {
		//add menu manager
	 var fname = document.getElementById('fname').value; 
	 var uname = document.getElementById('uname').value; 
	 var pwd = document.getElementById('pwd').value;
	 var repwd = document.getElementById('repwd').value;
	  				 if(fname == "") {
						inlineMsg('fname','<strong>Error</strong><br />Please enter the first name.',2);
						return false;
					  }
					 if(uname == "") {
						inlineMsg('uname','<strong>Error</strong><br />Please enter the user name.',2);
						return false;
					  }
					   if(pwd == "") {
						inlineMsg('pwd','<strong>Error</strong><br />Please enter the Password.',2);
						return false;
					  }
					  if(repwd == "") {
						inlineMsg('repwd','<strong>Error</strong><br />Please enter the Re-Type Password.',2);
						return false;
					  }
					  if(repwd != pwd) {
						inlineMsg('repwd','<strong>Error</strong><br />Please enter the correct Re-type Password.',2);
						return false;
					  }
	
	}else if(frmname == 'add_news') {
		//add menu manager
	 var news_title = document.getElementById('news_title').value; 
	 var news_desc = document.getElementById('news_desc').value; 
	
	  				 if(news_title == "") {
						inlineMsg('news_title','<strong>Error</strong><br />Please enter the newsletter title.',2);
						return false;
					  }
					 /*if(news_desc == "") {
						inlineMsg('news_desc','<strong>Error</strong><br />Please enter the  newsletter description.',2);
						return false;
					  }*/
					  	
	}else if(frmname == 'frmaddsubscriber') {
		
		 var txtinitial = document.getElementById('txtinitial').value; 
		 var txtfname = document.getElementById('txtfname').value;
		 var txtemail = document.getElementById('txtemail').value;
		 var txtphone = document.getElementById('txtphone').value;
     	 var txtcountry = document.getElementById('txtcountry').value;
		 var txtstatus = document.getElementById('txtstatus').value;
		 var emailRegexp = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
		 var validnum = /^([0-9]{1,20})$/;;
		 		           if(txtinitial == "") {
						inlineMsg('txtinitial','<strong>Error</strong><br />Please select the  Initial.',2);
						return false;
					  }
					 if(txtfname == "") {
						inlineMsg('txtfname','<strong>Error</strong><br />Please enter your Name.',2);
						return false;
					  }
					 if(txtemail == "") {
						 inlineMsg('txtemail','<strong>Error</strong><br />Please enter your email.',2);
						 return false;
					 }
					  if(!txtemail.match(emailRegexp)) {
						inlineMsg('txtemail','<strong>Error</strong><br />You have entered an invalid email.',2);
						return false;
					 }
					 if(txtphone == "") {
						inlineMsg('txtphone','<strong>Error</strong><br />Please enter the phone.');
						return false;
				   }
				   if(!txtphone.match(validnum)) {
						inlineMsg('txtphone','<strong>Error</strong><br />You have entered an invalid phone number.',2);
						return false;
					 }
					  if(txtcountry == "") {
						inlineMsg('txtcountry','<strong>Error</strong><br />Please enter the Country.');
						return false;
					} 
					if(txtstatus == "") {
						inlineMsg('txtstatus','<strong>Error</strong><br />Please select the status.');
						return false;
					}
					
	}else if(frmname == 'frmaddgallery') {
		//add menu manager
	 var txttitle = document.getElementById('txttitle').value; 
	 var txtpagename = document.getElementById('txtpagename').value; 
	 var file = document.getElementById('file').value; 
	  				 if(txttitle == "") {
						inlineMsg('txttitle','<strong>Error</strong><br />Please enter the image title.',2);
						return false;
					  }
					 if(txtpagename == "") {
						inlineMsg('txtpagename','<strong>Error</strong><br />Please enter the  page name.',2);
						return false;
					  }	
					  if(file == "") {
						inlineMsg('file','<strong>Error</strong><br />Please select the image location.',2);
						return false;
					  }	
	}else if(frmname == 'frmaddroom') {
		//add menu manager
	// var type = document.getElementById('type').value; 
	 var roomno = document.getElementById('roomno').value;
 	// var roomname = document.getElementById('roomname').value; 
	 var price = document.getElementById('price').value; 
	 var maxoccupants = document.getElementById('maxoccupants').value; 
	 var maxchild = document.getElementById('maxchild').value; 
	 var pricenum=/^([0-9.]{1,15})$/;
	 var valnum=/^([0-9]{1,15})$/;
	  				 /*if(type == "") {
						inlineMsg('type','<strong>Error</strong><br />Please enter the room type.',2);
						return false;
					  }*/
					 if(roomno == "") {
						inlineMsg('roomno','<strong>Error</strong><br />Please enter the  Room number.',2);
						return false;
					  }
					  if(!roomno.match(valnum)) {
						inlineMsg('roomno','<strong>Error</strong><br />You have entered an invalid Room number.',2);
						return false;
					 }
					 /*if(roomname == "") {
						inlineMsg('roomname','<strong>Error</strong><br />Please enter the  Room name.',2);
						return false;
					  }*/
					  if(price == "") {
						inlineMsg('price','<strong>Error</strong><br />Please enter the price.',2);
						return false;
					  }	
					  if(!price.match(pricenum)) {
						inlineMsg('price','<strong>Error</strong><br />You have entered an invalid amount.',2);
						return false;
					 }
					   if(maxoccupants == "") {
						inlineMsg('maxoccupants','<strong>Error</strong><br />Please enter the maximum occupants.',2);
						return false;
					  }	
					  if(!maxoccupants.match(valnum)) {
						inlineMsg('maxoccupants','<strong>Error</strong><br />You have entered an invalid max occupants.',2);
						return false;
					 }
					   if(maxchild == "") {
						inlineMsg('maxchild','<strong>Error</strong><br />Please enter the maximum child.',2);
						return false;
					  }	
					  if(!maxochild.match(valnum)) {
						inlineMsg('maxchild','<strong>Error</strong><br />You have entered an invalid max child.',2);
						return false;
					 }
		}else if(frmname == 'frmchangepwd') {
		//add menu manager
	 var oldpwd = document.getElementById('oldpwd').value; 
	 var newpwd = document.getElementById('newpwd').value; 
	  var repwd = document.getElementById('repwd').value; 
	  				 if(oldpwd == "") {
						inlineMsg('oldpwd','<strong>Error</strong><br />Please enter youe current password.',2);
						return false;
					  }
					 if(newpwd == "") {
						inlineMsg('newpwd','<strong>Error</strong><br />Please enter the  new password.',2);
						return false;
					  }	
					  if(repwd == "") {
						inlineMsg('repwd','<strong>Error</strong><br />Please enter the re-type password.',2);
						return false;
					  }	
					  if(repwd != newpwd) {
						inlineMsg('repwd','<strong>Error</strong><br />new password and re-type password not match.',2);
						return false;
					  }	
					  
					  
	}
	else if(frmname == 'frmfeedback') {
		//add menu manager
	 var txtname = document.getElementById('txtname').value; 
	 var txtemail = document.getElementById('txtemail').value; 
	 var txtphone = document.getElementById('txtphone').value; 
	 var txtmsg = document.getElementById('txtmsg').value; 
     var emailRegexp = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
     var numb = /^([0-9]{4,15})$/;///^\d{12}$/ ;

	  				 if(txtname == "") {
						inlineMsg('txtname','<strong>Error</strong><br />Please enter the name.',2);
						return false;
					  }
					 if(txtemail == "") {
						inlineMsg('txtemail','<strong>Error</strong><br />Please enter the email.',2);
						return false;
					  }
					   if(!txtemail.match(emailRegexp)) {
						inlineMsg('txtemail','<strong>Error</strong><br />You have entered an invalid email.',2);
						return false;
					 }
					   if(txtphone == "") {
						inlineMsg('txtphone','<strong>Error</strong><br />Please enter the phone number.',2);
						return false;
					  }
					   if(!txtphone.match(numb)) {
						inlineMsg('txtphone','<strong>Error</strong><br />Please enter the correct phone number.(numbers only)',2);
						return false;
					  }
					  if(txtmsg == "") {
						inlineMsg('txtmsg','<strong>Error</strong><br />Please enter the message.',2);
						return false;
					  }
	
	}
  return true;
}
var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;

// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide) {
  var msg;
  var msgcontent;
    if(!document.getElementById('msg')) {
    msg = document.createElement('div');
    msg.id = 'msg';
    msgcontent = document.createElement('div');
    msgcontent.id = 'msgcontent';
    document.body.appendChild(msg);
    msg.appendChild(msgcontent);
    msg.style.filter = 'alpha(opacity=0)';
    msg.style.opacity = 0;
    msg.alpha = 0;
  } else {
    msg = document.getElementById('msg');
	msgcontent = document.getElementById('msgcontent');
  }
  msgcontent.innerHTML = string;
  msg.style.display = 'block';
  var msgheight = msg.offsetHeight;
  var targetdiv = document.getElementById(target);
  targetdiv.focus();
  var targetheight = targetdiv.offsetHeight;
  var targetwidth = targetdiv.offsetWidth;
  var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 4);
  var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
  msg.style.top = topposition + 'px';
  msg.style.left = leftposition + 'px';
  clearInterval(msg.timer);
  msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
  if(!autohide) {
    autohide = MSGHIDE;  
  }
  window.setTimeout("hideMsg()", (autohide * 1000));
}

// hide the form alert //
function hideMsg(msg) {
  var msg = document.getElementById('msg');
  if(!msg.timer) {
    msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
  }
}

// face the message box //
function fadeMsg(flag) {
  if(flag == null) {
    flag = 1;
  }
  var msg = document.getElementById('msg');
  var value;
  if(flag == 1) {
    value = msg.alpha + MSGSPEED;
  } else {
    value = msg.alpha - MSGSPEED;
  }
  msg.alpha = value;
  msg.style.opacity = (value / 100);
  msg.style.filter = 'alpha(opacity=' + value + ')';
  if(value >= 99) {
    clearInterval(msg.timer);
    msg.timer = null;
  } else if(value <= 1) {
    msg.style.display = "none";
    clearInterval(msg.timer);
  }
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
  var left = 0;
  if(target.offsetParent) {
    while(1) {
      left += target.offsetLeft;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.x) {
    left += target.x;
  }
  return left;
}

// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
  var top = 0;
  if(target.offsetParent) {
    while(1) {
      top += target.offsetTop;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.y) {
    top += target.y;
  }
  return top;
}

// preload the arrow //
if(document.images) {
  arrow = new Image(7,80); 
  arrow.src = "../iamges/msg_arrow.png"; 
}
