
window.onload = init();

function admin_menu_controler_toggle() {
	var oadmin_menu=document.getElementById("admin_menu");
	var oadmin_menu_container=document.getElementById("admin_menu_container");
	if (oadmin_menu) {
		if (oadmin_menu.style.display=='none') {
			oadmin_menu.style.display = '';
			oadmin_menu_container.style.width = '160px';
		}else {
			oadmin_menu.style.display = 'none';
			oadmin_menu_container.style.width = '0px';
		}
	}
}
function init() {
	menu_controler = document.getElementById("admin_menu_controler");
	if (menu_controler) {
		menu_controler.onclick = admin_menu_controler_toggle
	}
}


//Check All
function  checkall(name) {
	obj = document.getElementsByName(name+"[]");
	for (i=0; i<obj.length; i++) {
		obj[i].checked = true;
	}
}

//Uncheck All
function  uncheckall(name) {
	obj = document.getElementsByName(name+"[]");
	for (i=0; i<obj.length; i++) {
		obj[i].checked = false;
	}
}
function mainmenu_deployaction(frm, url) {
	var objs = document.getElementsByName("items[]");
	enabled = false;
	for (i=0; i<objs.length; i++) {
		if (objs[i].checked) {
			enabled = true;
			break;
		}
	}
	if (enabled) {
		frm.action = url;
		frm.submit();
		return true;
	}
	return false;
}

function deployaction(frm, url) {
	if (frm.act.value!="") {
		var objs = document.getElementsByName("items[]");
		enabled = false;
		for (i=0; i<objs.length; i++) {
			if (objs[i].checked) {
				enabled = true;
				break;
			}
		}
		if (enabled) {
			frm.action = url;
			frm.submit();
			return true;
		}
	}
	return false;
}


/************************************ BOOKING ******************************/
//----------------------------------- 
function booking_check_validate() {
	theForm = document.forms['frm_booking_01'];
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ \t\r\
\f";
	var checkStr = theForm.firstname.value;
	var allValid = true;
	var validGroups = true;
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
	}
	if (!allValid)
	{
		alert("Please enter only letter and whitespace characters in the \"fname\" field.");
		theForm.firstname.focus();
		return (false);
	}

	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ \t\r\
\f";
	var checkStr = theForm.lastname.value;
	var allValid = true;
	var validGroups = true;
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
	}
	if (!allValid)
	{
		alert("Please enter only letter and whitespace characters in the \"lname\" field.");
		theForm.lastname.focus();
		return (false);
	}

	var checkOK = "0123456789-- \t\r\
\f";
	var checkStr = theForm.telephone.value;
	var allValid = true;
	var validGroups = true;
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
	}
	if (!allValid)
	{
		alert("Please enter only digit, whitespace and \"-\" characters in the \"phone\" field.");
		theForm.telephone.focus();
		return (false);
	}

	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-@ .";
	var checkStr = theForm.email.value;
	var allValid = true;
	var validGroups = true;
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
	}
	if (!allValid)
	{
		alert("Please enter only letter, digit and \"@ .\" characters in the \"email\" field.");
		theForm.email.focus();
		return (false);
	}
	if (theForm.address.value=="")
	{
		alert("Please enter your address.");
		theForm.address.focus();
		return (false);
	}

	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ \t\r\
\f";
	var checkStr = theForm.city.value;
	var allValid = true;
	var validGroups = true;
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
	}
	if (!allValid)
	{
		alert("Please enter only letter and whitespace characters in the \"city\" field.");
		theForm.city.focus();
		return (false);
	}

	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ \t\r\
\f";
	var checkStr = theForm.country.value;
	var allValid = true;
	var validGroups = true;
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
	}
	if (!allValid)
	{
		alert("Please enter only letter and whitespace characters in the \"country\" field.");
		theForm.country.focus();
		return (false);
	}

	if (theForm.arrival_month.selectedIndex == 0)
	{
		alert("The first \"arriv_month\" option is not a valid selection.  Please choose one of the other options.");
		theForm.arrival_month.focus();
		return (false);
	}

	if (theForm.departure_month.selectedIndex == 0)
	{
		alert("The first \"depart_month\" option is not a valid selection.  Please choose one of the other options.");
		theForm.departure_month.focus();
		return (false);
	}

	var checkOK = "0123456789-";
	var checkStr = theForm.numberofadult.value;
	var allValid = true;
	var validGroups = true;
	var decPoints = 0;
	var allNum = "";
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
		allNum += ch;
	}
	if (!allValid)
	{
		alert("Please enter only digit characters in the \"adults\" field.");
		theForm.numberofadult.focus();
		return (false);
	}

	var chkVal = allNum;
	var prsVal = parseInt(allNum);
	if (chkVal != "" && !(prsVal >= "0"))
	{
		alert("Please enter a value greater than or equal to \"0\" in the \"adults\" field.");
		theForm.numofadult.focus();
		return (false);
	}

	if (theForm.roomtype.selectedIndex < 0)
	{
		alert("Please select one of the \"Room type\" options.");
		theForm.roomtype.focus();
		return (false);
	}

	if (theForm.roomtype.selectedIndex == 0)
	{
		alert("The first \"Room type\" option is not a valid selection.  Please choose one of the other options.");
		theForm.roomtype.focus();
		return (false);
	}
/*
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789- \t\r\
\f";
	var checkStr = theForm.credittype.value;
	var allValid = true;
	var validGroups = true;
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
	}
	if (!allValid)
	{
		alert("Please enter only letter, digit and whitespace characters in the \"credittype\" field.");
		theForm.credittype.focus();
		return (false);
	}
	credittype = checkStr;
	var checkOK = "0123456789-";
	var checkStr = theForm.creditnumber.value;
	var allValid = true;
	var validGroups = true;
	var decPoints = 0;
	var allNum = "";
	alert(credittype+checkStr.substr(0, 1));
	switch (credittype) {
		case "American Express":
			if (checkStr.substr(0, 2)!="37") {
				alert("Wrong \"creditno\".");
				theForm.creditnumber.focus();
				return (false);
			}							
			break;
		case "Mastercard":
			if (checkStr.substr(0, 1)!="5") {
				alert("Wrong \"creditno\".");
				theForm.creditnumber.focus();
				return (false);
			}
			break;
		case "Visa Card":
			if (checkStr.substr(0, 1)!="4") {
				alert("Wrong \"creditno\".");
				theForm.creditnumber.focus();
				return (false);
			}
			break;
		case "Diners Club":
			if (checkStr.substr(0, 2)!="36" || checkStr.substr(0, 2)!="38") {
				alert("Wrong \"creditno\".");
				theForm.creditnumber.focus();
				return (false);
			}
			break;
		case "JCB Card":
			if (checkStr.substr(0, 2)!="35") {
				alert("Wrong \"creditno\".");
				theForm.creditnumber.focus();
				return (false);
			}
			break;
	}
	
	if (checkStr.length>0)
	{
		for (i = 0;  i < checkStr.length;  i++)
		{
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
				if (ch == checkOK.charAt(j))
					break;
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
			allNum += ch;
		}
	}
	else
	{
		allValid = false;
	}
	if (!allValid)
	{
		alert("Please enter only digit characters in the \"creditno\" field.");
		theForm.creditnumber.focus();
		return (false);
	}
*/
	if (theForm.expiration_month.selectedIndex == 0)
	{
		alert("The first \"expiration_month\" option is not a valid selection.  Please choose one of the other options.");
		theForm.expiration_month.focus();
		return (false);
	}
	return (true);
}

//Popup Calendar

// Title: Timestamp picker
// Description: See the demo at url
// URL: http://us.geocities.com/tspicker/
// Script featured on: http://javascriptkit.com/script/script2/timestamp.shtml
// Version: 1.0
// Date: 12-05-2001 (mm-dd-yyyy)
// Author: Denis Gritcyuk <denis@softcomplex.com>; <tspicker@yahoo.com>
// Notes: Permission given to use this script in any kind of applications if
//    header lines are left unchanged. Feel free to contact the author
//    for feature requests and/or donations

function show_calendar(str_target, str_datetime) {
	var arr_months = ["January", "February", "March", "April", "May", "June",
		"July", "August", "September", "October", "November", "December"];
	var week_days = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
	var n_weekstart = 1; // day week starts from (normally 0 or 1)

	var dt_datetime = (str_datetime == null || str_datetime =="" ?  new Date() : str2dt(str_datetime));
	var dt_prev_month = new Date(dt_datetime);
	dt_prev_month.setMonth(dt_datetime.getMonth()-1);
	var dt_next_month = new Date(dt_datetime);
	dt_next_month.setMonth(dt_datetime.getMonth()+1);
	var dt_firstday = new Date(dt_datetime);
	dt_firstday.setDate(1);
	dt_firstday.setDate(1-(7+dt_firstday.getDay()-n_weekstart)%7);
	var dt_lastday = new Date(dt_next_month);
	dt_lastday.setDate(0);
	
	// html generation (feel free to tune it for your particular application)
	// print calendar header
	var str_buffer = new String (
		"<html>\n"+
		"<head>\n"+
		"	<title>Calendar</title>\n"+
		"</head>\n"+
		"<body bgcolor=\"White\">\n"+
		"<table class=\"clsOTable\" cellspacing=\"0\" border=\"0\" width=\"100%\">\n"+
		"<tr><td bgcolor=\"#4682B4\">\n"+
		"<table cellspacing=\"1\" cellpadding=\"3\" border=\"0\" width=\"100%\">\n"+
		"<tr>\n	<td bgcolor=\"#4682B4\"><a href=\"javascript:window.opener.show_calendar('"+
		str_target+"', '"+ dt2dtstr(dt_prev_month)+"'+document.cal.time.value);\">"+
		"<img src=\"images/prev.gif\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"previous month\"></a></td>\n"+
		"	<td bgcolor=\"#4682B4\" colspan=\"5\">"+
		"<font color=\"white\" face=\"tahoma, verdana\" size=\"2\">"
		+arr_months[dt_datetime.getMonth()]+" "+dt_datetime.getFullYear()+"</font></td>\n"+
		"	<td bgcolor=\"#4682B4\" align=\"right\"><a href=\"javascript:window.opener.show_calendar('"
		+str_target+"', '"+dt2dtstr(dt_next_month)+"'+document.cal.time.value);\">"+
		"<img src=\"images/next.gif\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"next month\"></a></td>\n</tr>\n"
	);

	var dt_current_day = new Date(dt_firstday);
	// print weekdays titles
	str_buffer += "<tr>\n";
	for (var n=0; n<7; n++)
		str_buffer += "	<td bgcolor=\"#87CEFA\">"+
		"<font color=\"white\" face=\"tahoma, verdana\" size=\"2\">"+
		week_days[(n_weekstart+n)%7]+"</font></td>\n";
	// print calendar table
	str_buffer += "</tr>\n";
	while (dt_current_day.getMonth() == dt_datetime.getMonth() ||
		dt_current_day.getMonth() == dt_firstday.getMonth()) {
		// print row heder
		str_buffer += "<tr>\n";
		for (var n_current_wday=0; n_current_wday<7; n_current_wday++) {
				if (dt_current_day.getDate() == dt_datetime.getDate() &&
					dt_current_day.getMonth() == dt_datetime.getMonth())
					// print current date
					str_buffer += "	<td bgcolor=\"#FFB6C1\" align=\"right\">";
				else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)
					// weekend days
					str_buffer += "	<td bgcolor=\"#DBEAF5\" align=\"right\">";
				else
					// print working days of current month
					str_buffer += "	<td bgcolor=\"white\" align=\"right\">";

				if (dt_current_day.getMonth() == dt_datetime.getMonth())
					// print days of current month
					str_buffer += "<a href=\"javascript:window.opener."+str_target+
					".value='"+dt2dtstr(dt_current_day)+"'+document.cal.time.value; window.close();\">"+
					"<font color=\"black\" face=\"tahoma, verdana\" size=\"2\">";
				else 
					// print days of other months
					str_buffer += "<a href=\"javascript:window.opener."+str_target+
					".value='"+dt2dtstr(dt_current_day)+"'+document.cal.time.value; window.close();\">"+
					"<font color=\"gray\" face=\"tahoma, verdana\" size=\"2\">";
				str_buffer += dt_current_day.getDate()+"</font></a></td>\n";
				dt_current_day.setDate(dt_current_day.getDate()+1);
		}
		// print row footer
		str_buffer += "</tr>\n";
	}
	// print calendar footer
	str_buffer +=
		"<form name=\"cal\">\n<tr><td colspan=\"7\" bgcolor=\"#87CEFA\">"+
		"<font color=\"White\" face=\"tahoma, verdana\" size=\"2\">"+
		"Time: <input type=\"text\" name=\"time\" value=\""+dt2tmstr(dt_datetime)+
		"\" size=\"8\" maxlength=\"8\"></font></td></tr>\n</form>\n" +
		"</table>\n" +
		"</tr>\n</td>\n</table>\n" +
		"</body>\n" +
		"</html>\n";

	var vWinCal = window.open("", "Calendar", 
		"width=200,height=250,status=no,resizable=yes,top=200,left=200");
	vWinCal.opener = self;
	var calc_doc = vWinCal.document;
	calc_doc.write (str_buffer);
	calc_doc.close();
}
// datetime parsing and formatting routimes. modify them if you wish other datetime format
function str2dt (str_datetime) {
	var re_date = /^(\d+)\-(\d+)\-(\d+)\s+(\d+)\:(\d+)\:(\d+)$/;
	if (!re_date.exec(str_datetime))
		return alert("Invalid Datetime format: "+ str_datetime);
	return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5, RegExp.$6));
}
function dt2dtstr (dt_datetime) {
	return (new String (
			dt_datetime.getDate()+"-"+(dt_datetime.getMonth()+1)+"-"+dt_datetime.getFullYear()+" "));
}
function dt2tmstr (dt_datetime) {
	return (new String (
			dt_datetime.getHours()+":"+dt_datetime.getMinutes()+":"+dt_datetime.getSeconds()));
}

/////////////////////////////////////////
function show_calendar_without_time(str_target, str_datetime) {
	var arr_months = ["January", "February", "March", "April", "May", "June",
		"July", "August", "September", "October", "November", "December"];
	var week_days = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
	var n_weekstart = 1; // day week starts from (normally 0 or 1)

	var dt_datetime = (str_datetime == null || str_datetime =="" ?  new Date() : str2dt(str_datetime));
	var dt_prev_month = new Date(dt_datetime);
	dt_prev_month.setMonth(dt_datetime.getMonth()-1);
	var dt_next_month = new Date(dt_datetime);
	dt_next_month.setMonth(dt_datetime.getMonth()+1);
	var dt_firstday = new Date(dt_datetime);
	dt_firstday.setDate(1);
	dt_firstday.setDate(1-(7+dt_firstday.getDay()-n_weekstart)%7);
	var dt_lastday = new Date(dt_next_month);
	dt_lastday.setDate(0);
	
	// html generation (feel free to tune it for your particular application)
	// print calendar header
	var str_buffer = new String (
		"<html>\n"+
		"<head>\n"+
		"	<title>Calendar</title>\n"+
		"</head>\n"+
		"<body bgcolor=\"White\">\n"+
		"<table class=\"clsOTable\" cellspacing=\"0\" border=\"0\" width=\"100%\">\n"+
		"<tr><td bgcolor=\"#4682B4\">\n"+
		"<table cellspacing=\"1\" cellpadding=\"3\" border=\"0\" width=\"100%\">\n"+
		"<tr>\n	<td bgcolor=\"#4682B4\"><a href=\"javascript:window.opener.show_calendar_without_time('"+
		str_target+"', '"+ dt2dtstr(dt_prev_month)+"'+document.cal.time.value);\">"+
		"<img src=\"images/prev.gif\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"previous month\"></a></td>\n"+
		"	<td bgcolor=\"#4682B4\" colspan=\"5\">"+
		"<font color=\"white\" face=\"tahoma, verdana\" size=\"2\">"
		+arr_months[dt_datetime.getMonth()]+" "+dt_datetime.getFullYear()+"</font></td>\n"+
		"	<td bgcolor=\"#4682B4\" align=\"right\"><a href=\"javascript:window.opener.show_calendar_without_time('"
		+str_target+"', '"+dt2dtstr(dt_next_month)+"'+document.cal.time.value);\">"+
		"<img src=\"images/next.gif\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"next month\"></a></td>\n</tr>\n"
	);

	var dt_current_day = new Date(dt_firstday);
	// print weekdays titles
	str_buffer += "<tr>\n";
	for (var n=0; n<7; n++)
		str_buffer += "	<td bgcolor=\"#87CEFA\">"+
		"<font color=\"white\" face=\"tahoma, verdana\" size=\"2\">"+
		week_days[(n_weekstart+n)%7]+"</font></td>\n";
	// print calendar table
	str_buffer += "</tr>\n";
	while (dt_current_day.getMonth() == dt_datetime.getMonth() ||
		dt_current_day.getMonth() == dt_firstday.getMonth()) {
		// print row heder
		str_buffer += "<tr>\n";
		for (var n_current_wday=0; n_current_wday<7; n_current_wday++) {
				if (dt_current_day.getDate() == dt_datetime.getDate() &&
					dt_current_day.getMonth() == dt_datetime.getMonth())
					// print current date
					str_buffer += "	<td bgcolor=\"#FFB6C1\" align=\"right\">";
				else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)
					// weekend days
					str_buffer += "	<td bgcolor=\"#DBEAF5\" align=\"right\">";
				else
					// print working days of current month
					str_buffer += "	<td bgcolor=\"white\" align=\"right\">";

				if (dt_current_day.getMonth() == dt_datetime.getMonth())
					// print days of current month
					str_buffer += "<a href=\"javascript:window.opener."+str_target+
					".value='"+dt2dtstr(dt_current_day)+"'; window.close();\">"+
					"<font color=\"black\" face=\"tahoma, verdana\" size=\"2\">";
				else 
					// print days of other months
					str_buffer += "<a href=\"javascript:window.opener."+str_target+
					".value='"+dt2dtstr(dt_current_day)+"'; window.close();\">"+
					"<font color=\"gray\" face=\"tahoma, verdana\" size=\"2\">";
				str_buffer += dt_current_day.getDate()+"</font></a></td>\n";
				dt_current_day.setDate(dt_current_day.getDate()+1);
		}
		// print row footer
		str_buffer += "</tr>\n";
	}
	// print calendar footer
	str_buffer +=
		"<form name=\"cal\">\n<tr><td colspan=\"7\" bgcolor=\"#87CEFA\">"+
		"<font color=\"White\" face=\"tahoma, verdana\" size=\"2\">"+
		"Time: <input type=\"text\" name=\"time\" value=\""+dt2tmstr(dt_datetime)+
		"\" size=\"8\" maxlength=\"8\"></font></td></tr>\n</form>\n" +
		"</table>\n" +
		"</tr>\n</td>\n</table>\n" +
		"</body>\n" +
		"</html>\n";

	var vWinCal = window.open("", "Calendar", 
		"width=200,height=250,status=no,resizable=yes,top=200,left=200");
	vWinCal.opener = self;
	var calc_doc = vWinCal.document;
	calc_doc.write (str_buffer);
	calc_doc.close();
}
// datetime parsing and formatting routimes. modify them if you wish other datetime format
function str2dt_ (str_datetime) {
	var re_date = /^(\d+)\-(\d+)\-(\d+)\s+(\d+)\:(\d+)\:(\d+)$/;
	if (!re_date.exec(str_datetime))
		return alert("Invalid Datetime format: "+ str_datetime);
	return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5, RegExp.$6));
}
function dt2dtstr_ (dt_datetime) {
	return (new String (
			dt_datetime.getFullYear()+"-"+(dt_datetime.getMonth()+1)+"-"+dt_datetime.getDate()+" "));
}
function dt2tmstr_ (dt_datetime) {
	return (new String (
			dt_datetime.getHours()+":"+dt_datetime.getMinutes()+":"+dt_datetime.getSeconds()));
}

function openImageNews(vLink, vHeight, vWidth)
{
	var sLink = (typeof(vLink.href) == 'undefined') ? vLink : vLink.href;

	if (sLink == '')
	{
		return false;
	}

	winDef = 'status=no,resizable=no,scrollbars=no,toolbar=no,location=no,fullscreen=no,titlebar=yes,height='.concat(vHeight).concat(',').concat('width=').concat(vWidth).concat(',');
	winDef = winDef.concat('top=').concat((screen.height - screen.height)/2+1).concat(',');
	winDef = winDef.concat('left=').concat((screen.width - screen.width)/2+1);
	newwin = open('', '_blank', winDef);

	newwin.document.writeln('<title>VUNGTAUTOURIST.COM.VN:. </title><body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">');
	newwin.document.writeln('<a href="" onClick="window.close(); return false;"><img src="', sLink, '" alt="', 'Close', '" border=0></a>');
	newwin.document.writeln('</body>');

	if (typeof(vLink.href) != 'undefined')
	{
		return false;
	}
}
function ChangeImages(ItemImages){
   var ImageItem =document.all('imagePhoto');
  ImageItem.src = ItemImages;
}

function check_validate(frm) {
	var tmp = frm.innerHTML;
	var cond = new Array();
	var re = /<!--check_validate([\w\W]+)-->/;
	tmp = tmp.match(re);
	if (tmp) {
		tmp = tmp[1];
		tmp = tmp.split("\n");
		if (tmp) {
			for (i=1; i<tmp.length-1; i++) {
				t = tmp[i].split(":");
				cond[i-1] = new Array();
				cond[i-1][0] = t[0];
				cond[i-1][1] = t[1];
				cond[i-1][2] = t[2];
			}
			for (i=0; i<cond.length; i++) {
				if (!check_validate_(frm, cond[i])) {
					return false;
				}
			}
			
			return true;
		}
	}
	return true;
}

//
function check_validate_(frm, cond) {
	var obj = eval("frm."+cond[0]);
	if (obj) {
		beginSlice = 0;
		endSlice = cond[2].length-1;
		c = cond[2].slice(beginSlice, endSlice);
		switch (c) {
			case "empty" :
				if (obj.value=="") {					
					alert("Vui long nhap \""+cond[1]+"\"!");
					obj.focus();
					return false;
				}else {
					return true;
				}
				break;
			default:
				return true;
		}
	}else {
		alert("Unknown Error (parse error)!");
		return false;
	}
}
/*=================================*/
function checkmenu() {
	var curmenu = event.srcElement;
	var objs = document.getElementsByTagName("INPUT");
	var re = new RegExp("("+curmenu.id+"[A-Za-z0-9_]*)","ig");
	for (i=0; i<objs.length; i++) {		
		if (objs[i].type=="checkbox" && objs[i].id.search(re)!=-1) {
			menuName = RegExp.$1;
			oTmp = document.getElementsByName(menuName);
			oTmp[0].checked = curmenu.checked;
		}
	}
}

//Check service registration
function check_service_registration(frm) {
	if (check_validate(frm)) {
		if (frm.hidden2.value=='1' && frm.file1.value=='') {
			alert("Vui long gui mau dang ky cho chung toi.");
			frm.btn2.focus();
			return false;
		}
		return true;
	}
	return false;
}


//Menu:. initialize
function menu_init() {
	//Hide All menu
	var re = new RegExp("(menu[A-Za-z0-9_]*)","ig");
	oAll = document.all;
	for (i=0; i<oAll.length; i++) {
		if (oAll[i].id && oAll[i].id.search(re)!=-1) {
			leveli = oAll[i].id.match(/_/ig).length;
			if (leveli==1) {
				oAll[i].className='view_mainmenu_'+leveli;
				oAll[i].style.display='';
			}else {
				oAll[i].style.display='none';
			}
		}
	}
	
	var level = (curmenu.match(/_/ig)?curmenu.match(/_/ig).length:0);
	oAll = document.all;
	if (level>0) {
		oAll[curmenu].className='view_mainmenu_'+level+'_open';
		oAll[curmenu].style.display = '';
		var a_m = curmenu.split('_');
		if (a_m.length>1) {
			sid = a_m[0];
			for (i=1; i<a_m.length; i++) {
				sid += "_"+a_m[i];
				level = sid.match(/_/ig).length;
				re = new RegExp("("+sid+"[A-Za-z0-9_]+)","ig");
				for (j=0; j<oAll.length; j++) {
					if (oAll[j].id && oAll[j].id.search(re)!=-1) {
						levelj = oAll[j].id.match(/_/ig).length;
						if (levelj<=level+1) {
							oAll[j].className='view_mainmenu_'+levelj;
							oAll[j].style.display = '';
						}else
							oAll[j].style.display = 'none';
					}
				}
			}
		}
	}

	//Show menu by curmenu	
//	show_supmenu(curmenu);
//	show_submenu(curmenu);
}

//
function menu_get_item(obj) {
	if (!obj.id) {
		return menu_get_item(obj.parentNode);
	}
	return obj;
}
//Menu:. toggle
function menu_toggle() {
	var oSrc = event.srcElement;
	oSrc = menu_get_item(oSrc);
	var level = oSrc.id.match(/_/ig).length;
	oSrc.className='view_mainmenu_'+level+(oSrc.className=='view_mainmenu_'+level?'_open':'');
	oSrc.style.display = '';
	var re = new RegExp("("+oSrc.id+"[A-Za-z0-9_]*)","ig");
	oAll = document.all;
	for (i=0; i<oAll.length; i++) {
		if (oAll[i].id) {
			leveli = oAll[i].id.match(/_/ig).length;
			if (oAll[i].id.search(re)!=-1 && oAll[i].id!=oSrc.id) {
				if (oAll[i].style.display=='none') {
					if (leveli==level+1) {
						oAll[i].className='view_mainmenu_'+leveli;
						oAll[i].style.display='';
					}
				}else {
					oAll[i].style.display='none';
				}
			}
		}
	}
}

/*======================== 4 row======================*/
//
function row_get_item(obj) {
	if (obj.tagName!="TR") {
		return row_get_item(obj.parentNode);
	}
	return obj;
}

//
function row_over(color) {
	oSrc = event.srcElement;
	if (oSrc) {
		obj = row_get_item(oSrc);
		obj.bgColor = color;
	}
}

//
function row_out(color) {
	oSrc = event.srcElement;
	if (oSrc) {
		obj = row_get_item(oSrc);
		obj.bgColor = color;
	}
}

//
function tour_cat_deployaction(frm, url) {
	if (frm.act.value!="") {
		var objs = document.getElementsByName("items[]");
		enabled = false;
		for (i=0; i<objs.length; i++) {
			if (objs[i].checked) {
				enabled = true;
				break;
			}
		}
		if (enabled) {
			frm.action = url;
			frm.submit();
			return true;
		}
	}
	return false;
}

//
function tour_tour_deployaction(frm, url) {
	if (frm.act.value!="") {
		var objs = document.getElementsByName("touritems[]");
		enabled = false;
		for (i=0; i<objs.length; i++) {
			if (objs[i].checked) {
				enabled = true;
				break;
			}
		}
		if (enabled) {
			frm.action = url;
			frm.submit();
			return true;
		}
	}
	return false;
}

//Slide show
function slideshow(index) {
	var container = document.getElementById("window_slideshow");
	var oImg = document.getElementById("window_slideshow_img");
	var tmp = container.innerHTML;
	var cond = new Array();
	var re = /<!--slideshow([\w\W]+)-->/;
	
	tmp = tmp.match(re);
	if (tmp) {
		tmp = tmp[1];
		tmp = tmp.split("\n");
		if (tmp) {
			for (i=1; i<tmp.length-2; i++) {
//				alert(tmp[i]);
				t = tmp[i].split(">>");
				cond[i-1] = new Array();
				cond[i-1]['id'] = t[0];
				cond[i-1]['pic'] = t[1];
				cond[i-1]['hint'] = t[2];
				cond[i-1]['link'] = t[3];
			}
			if (cond.length>0) {
/*				if (!oImg) {
					//Insert <IMG>
//					alert('img');
					var oNewItem = document.createElement("IMG");	
					oNewItem.name = "window_slideshow_img";
					oNewItem.id = "window_slideshow_img";
//					oNewItem.src = cond[index]['pic'];
					container.insertAdjacentElement("AfterBegin", oNewItem);
					var oImg = document.getElementById("window_slideshow_img");
				}*/
				
				oImg.src=cond[index]['pic'];
				str = oImg.outerHTML;
//				str = str.substr(0, str.length-1);
//				str += ' style = "filter:progid:DXImageTransform.Microsoft.Fade(strength=100,duration=2)"'+'>';
//				oImg.outerHTML = str;
				var pixeldelay=oImg.filters[0].duration*1000;
				var slidespeed=3000;
//				alert(str);
				oImg.filters[0].apply();
				oImg.filters[0].play();

//				setInterval("foo("+oImg+")", 100);
//alert(index);
				index++;
				if (cond.length>1) {
					if (index>cond.length-1)
						window.setTimeout("slideshow(0);", slidespeed+pixeldelay);
					else
						window.setTimeout("slideshow("+index+");", slidespeed+pixeldelay);
				}
			}
		}
	}
}
function foo(obj)
{
	if ((obj.filters.item('DXImageTransform.Microsoft.alpha').opacity + delta > 100)
	||  (obj.filters.item('DXImageTransform.Microsoft.alpha').opacity + delta < 0))
		delta = - delta
	obj.filters.item('DXImageTransform.Microsoft.alpha').opacity += delta
}
