
// function show_calendar
// input parameters:
// str_datetime - datetime
// str_format - datetime format ("mm/dd/yy", "dd/mm/yy", "dd-mm-yy", "mm-dd-yy")
// str_target
// str_target1 - name of year dropdown control ( can be null )
// str_target2 - name of month dropdown control ( can be null )
// str_target3 - name of year dropdown control ( can be null )

var aryDates = new Array();

function show_calendar_ddl(str_format_txt, str_day, str_month, str_year, dt) {
    
    
	str_format = str_format_txt.toLowerCase();
	
	var 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 = 0; // day week starts from (normally 0 or 1)
	var dt_datetime;
		
	if ( dt !='' && dt !=null) 
	 { 
	  str_datetime = dt;
      dt_datetime = str2dt(str_datetime, str_format_txt);
	  
	 }
	else 
	 {	
		str_datetime = eval(str_day + ".value") + '-'+
						eval(str_month + ".value") + '-'+
						eval(str_year + ".value") ;
	    dt_datetime = (str_datetime == null || str_datetime =="" || str_datetime=='0-0-0' || str_datetime=='--' ?  new Date() : str2dt(str_datetime, 'dd-mm-yyyy'));
     }						
									
	//str_datetime = str2dt(str_datetime, 'dd-mm-yyyy');
	
	var dt_prev_year = new Date(dt_datetime);
	
	dt_prev_year.setYear(dt_datetime.getFullYear()-1<1000 ? 1000 + dt_datetime.getFullYear()-1 : dt_datetime.getFullYear()-1);
	var dt_next_year = new Date(dt_datetime);
	dt_next_year.setYear(dt_datetime.getFullYear()+1 < 1000 ?1000 + dt_datetime.getFullYear()+1 : dt_datetime.getFullYear()+1);

//	alert('='+dt_datetime+'|'+dt_prev_year+'=');


	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"+
		"<style type=\"text/css\">\n"+
		"<!--\n"+
		"td { font-family: tahoma, verdana; font-size: 12; color: #000000}\n"+
		"-->\n"+
		"</style>\n"+
		"</head>\n"+
		"<body bgcolor=\"White\">\n"+
		"<table 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 colspan=\"2\" bgcolor=\"#4682B4\">"+
		"<a href=\"javascript: var o = window.self; var v = window.opener.show_calendar_ddl('" + str_format + 
		"','"+str_day+"','"+str_month+"','"+str_year+"','"+dt2str(dt_prev_year, str_format)+"'); if (o.name!=v.name) o.close();\">"+
		"<img src=\"images/prev_year.gif\" style=\"visibility:hidden\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"previous year\"></a> " +		
		"<a href=\"javascript: var o = window.self; var v = window.opener.show_calendar_ddl('" + str_format + 
		 "','"+str_day+"','"+str_month+"','"+str_year+"','"+dt2str(dt_prev_month, str_format)+"'); if (o.name!=v.name) o.close();\">"+
		"<img src=\"images/prev.gif\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"previous month\"></a></td>\n"+
		"	<td align=middle bgcolor=\"#4682B4\" colspan=\"3\">"+
		"<font color=\"white\" >"
		+arr_months[dt_datetime.getMonth()]+" "+dt_datetime.getFullYear()+"</font></td>\n"+
		"	<td colspan=\"2\" bgcolor=\"#4682B4\" align=\"right\">" + 
		"<a href=\"javascript: var o = window.self; var v = window.opener.show_calendar_ddl('" + str_format + 
		 "','"+str_day+"','"+str_month+"','"+str_year+"','"+dt2str(dt_next_month, str_format)+"');  if (o.name!=v.name) o.close();\">"+
		"<img src=\"images/next.gif\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"next month\"></a> " + 
		"<a href=\"javascript: var o = window.self; var v = window.opener.show_calendar_ddl('" + str_format +
		 "','"+str_day+"','"+str_month+"','"+str_year+"','"+dt2str(dt_next_year, str_format)+"');  if (o.name!=v.name) o.close();\">"+
		"<img src=\"images/next_year.gif\" style=\"visibility:hidden\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"next year\"></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\">"+
		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\">";
				else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)
					// weekend days
					str_buffer += "	<td bgcolor=\"#DBEAF5\">";
				else
					// print working days of current month
					str_buffer += "	<td bgcolor=white>";

				if (dt_current_day.getMonth() == dt_datetime.getMonth())
					// print days of current month
					str_buffer += "<a href=\"javascript: update_ddl('"+dt2dtstr(dt_current_day)+"','"+str_day+"','"+str_month+"','"+str_year+"');\">";
				else 
					// print days of other months
					str_buffer += "<a href=\"javascript: update_ddl('"+dt2dtstr(dt_current_day)+"','"+str_day+"','"+str_month+"','"+str_year+"');\">";
					"<font color=\"gray\">";
				str_buffer += dt_current_day.getDate()+"</a></td>\n";
				dt_current_day.setDate(dt_current_day.getDate()+1);
		}
		// print row footer
		str_buffer += "</tr>\n";
	}
	// print calendar footer
	str_buffer +=
		"</table>\n" +
		"</tr>\n</td>\n</table>\n" +
		"<script language=Javascript>\n" +
"function update_ddl(str, str_day, str_month, str_year) \n" + 
"{ 	\n" + 
"var dt_datetime;  	\n" + 
"var curdate = new Date(); 	\n" + 
"if (str!='' && str!=null)	\n" + 
" { 		\n" + 
"	dt_datetime = window.opener.str2dt(str, 'dd-mm-yyyy');	\n" 

//if ( str_day !='' && str_day !=null) 
	str_buffer += "		window.opener." + str_day + ".value = dt_datetime.getDate();\n";

if ( str_month !='' && str_month !=null) 
	str_buffer += "		window.opener." + str_month + ".value = dt_datetime.getMonth()+1;\n";
if ( str_year !='' && str_year !=null) 
	str_buffer += "		window.opener." + str_year + ".value = dt_datetime.getFullYear();\n";
str_buffer += "window.close();\n" + 

" }\n" +
" }\n" + 
		"</script>\n" +			
		"</body>\n" +
		"</html>\n";


	var vWinCal = window.open("Calendar", "Calendar"+dt_datetime.getMonth(), 
		"width=200,height=200,status=no,resizable=yes,top=200,left=200");
	vWinCal.opener = self;
	var calc_doc = vWinCal.document;
	calc_doc.write (str_buffer);
	calc_doc.close();
	return vWinCal;	
}


function show_calendar_txt(str_format_txt, str_target, dt) {

	str_format = str_format_txt.toLowerCase();
	
	var str_datetime;
	
	if ( dt !='' && dt !=null) str_datetime = dt 
	else str_datetime = eval(str_target + ".value");
	
	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 =="" || str_datetime=='0-0-0' ?  new Date() : str2dt(str_datetime, str_format));

	var dt_prev_year = new Date(dt_datetime);
	dt_prev_year.setYear(dt_datetime.getFullYear()-1 < 1000 ? 1000 + dt_datetime.getFullYear()-1 : dt_datetime.getFullYear()-1);
	var dt_next_year = new Date(dt_datetime);
	dt_next_year.setYear(dt_datetime.getFullYear()+1 < 1000 ? 1000 + dt_datetime.getFullYear()+1 : dt_datetime.getFullYear()+1);
	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"+
		"<style type=\"text/css\">\n"+
		"<!--\n"+
		"td { font-family: tahoma, verdana; font-size: 12; color: #000000}\n"+
		"-->\n"+
		"</style>\n"+
		"</head>\n"+
		"<body bgcolor=\"White\">\n"+
		"<table 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 colspan=\"2\" bgcolor=\"#4682B4\">"+
		"<a href=\"javascript: var o = window.self; var v = window.opener.show_calendar_txt('" + str_format + "','" + 
		str_target + "','"+dt2str(dt_prev_year, str_format)+"'); if (o.name!=v.name) o.close();\">"+
		"<img src=\"images/prev_year.gif\"  style=\"visibility:hidden\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"previous year\"></a> " +		
		"<a href=\"javascript: var o = window.self; var v = window.opener.show_calendar_txt('" + str_format + "','" + 
		str_target + "','"+dt2str(dt_prev_month, str_format)+"'); if (o.name!=v.name) o.close();\">"+
		"<img src=\"images/prev.gif\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"previous month\"></a></td>\n"+
		"	<td align=middle bgcolor=\"#4682B4\" colspan=\"3\">"+
		"<font color=\"white\" >"
		+arr_months[dt_datetime.getMonth()]+" "+dt_datetime.getFullYear()+"</font></td>\n"+
		"	<td colspan=\"2\" bgcolor=\"#4682B4\" align=\"right\">" + 
		"<a href=\"javascript: var o = window.self; var v = window.opener.show_calendar_txt('" + str_format + "','" + 
		str_target + "','"+dt2str(dt_next_month, str_format)+"');  if (o.name!=v.name) o.close();\">"+
		"<img src=\"images/next.gif\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"next month\"></a> " + 
		"<a href=\"javascript: var o = window.self; var v = window.opener.show_calendar_txt('" + str_format + "','" + 
		str_target + "','"+dt2str(dt_next_year, str_format)+"');  if (o.name!=v.name) o.close();\">"+
		"<img src=\"images/next_year.gif\"  style=\"visibility:hidden\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"next year\"></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\">"+
		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\">";
				else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)
					// weekend days
					str_buffer += "	<td bgcolor=\"#DBEAF5\">";
				else
					// print working days of current month
					str_buffer += "	<td bgcolor=white>";

				if (dt_current_day.getMonth() == dt_datetime.getMonth())
					// print days of current month
					str_buffer += "<a href=\"javascript: update('"+dt2dtstr(dt_current_day)+"');\">";
				else 
					// print days of other months
					str_buffer += "<a href=\"javascript: update('"+dt2dtstr(dt_current_day)+"');\">"+
					"<font color=\"gray\">";
				str_buffer += dt_current_day.getDate()+"</a></td>\n";
				dt_current_day.setDate(dt_current_day.getDate()+1);
		}
		// print row footer
		str_buffer += "</tr>\n";
	}
	// print calendar footer
	str_buffer +=
		"</table>\n" +
		"</tr>\n</td>\n</table>\n" +
		"<script language=Javascript>\n" +
"function update(str) \n" + 
"{ 	\n" + 
"var dt_datetime;  	\n" + 
"var curdate = new Date(); 	\n" + 
"if (str!='' && str!=null)	\n" + 
" { 		\n" + 
"	dt_datetime = window.opener.str2dt(str, 'dd-mm-yyyy');	\n" +
"	window.opener." + str_target + ".value = window.opener.dt2str(dt_datetime, '" + str_format + "'); \n";
str_buffer += "window.close();\n" + 
" }\n" + 
" }\n" + 
		"</script>\n" +			
		"</body>\n" +
		"</html>\n";


	var vWinCal = window.open("Calendar", "Calendar"+dt_datetime.getMonth(), 
		"width=200,height=200,status=no,resizable=yes,top=200,left=200");
	vWinCal.opener = self;
	var calc_doc = vWinCal.document;
	calc_doc.write (str_buffer);
	calc_doc.close();
	return vWinCal;	
}


function show_calendar_periodDates(str_format_txt, str_day, str_month, str_year, dt) {        
            
	str_format = str_format_txt.toLowerCase();
	
	var str_datetime;
	var arr_months = ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני",
		"יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"];
	var week_days = ["א", "ב", "ג", "ד", "ה", "ו", "ש"];
	var n_weekstart = 0; // day week starts from (normally 0 or 1)
	var dt_datetime;
		
	if ( dt !='' && dt !=null) 
	 { 
	  str_datetime = dt;
      dt_datetime = str2dt(str_datetime, str_format_txt);
	  
	 }
	else 
	 {	
	    /*
		str_datetime = eval(str_day + ".value") + '-'+
						eval(str_month + ".value") + '-'+
						eval(str_year + ".value") ;
	    dt_datetime = (str_datetime == null || str_datetime =="" || str_datetime=='0-0-0' || str_datetime=='--' ?  new Date() : str2dt(str_datetime, 'dd-mm-yyyy'));
	    */
	    dt = aryDates[0].getDate() + "/"  + (aryDates[0].getMonth()+1) + "/"  + aryDates[0].getFullYear();
	    str_datetime = dt;
        dt_datetime = str2dt(str_datetime, str_format_txt);
     }						
									
	//str_datetime = str2dt(str_datetime, 'dd-mm-yyyy');
	
	var dt_prev_year = new Date(dt_datetime);
	
	dt_prev_year.setYear(dt_datetime.getFullYear()-1<1000 ? 1000 + dt_datetime.getFullYear()-1 : dt_datetime.getFullYear()-1);
	var dt_next_year = new Date(dt_datetime);
	dt_next_year.setYear(dt_datetime.getFullYear()+1 < 1000 ?1000 + dt_datetime.getFullYear()+1 : dt_datetime.getFullYear()+1);

//	alert('='+dt_datetime+'|'+dt_prev_year+'=');


	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"+
		"	<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf8\">\n"+
		"<style type=\"text/css\">\n"+
		"<!--\n"+
		"td { font-family: arial, verdana; font-size: 12; color: #000000}\n"+
		"td div{ padding:3px;}\n"+
		"-->\n"+
		"</style>\n"+
		
		
		"<script>\n"+
		"   function SetFocus() {\n"+
		"   windows.focus(); \n"+
		"   setTimeout('SetFocus()', 200);  \n"+
		"   }\n"+
		"</script>\n"+
		
		"</head>\n"+
		"<body onblur=\"self.focus()\" onLoad=\"SetFocus();\" bgcolor=\"White\">\n"+
		"<table cellspacing=\"0\" border=\"0\" width=\"100%\">\n"+
		"<tr><td bgcolor=\"#4682B4\">\n"+
		"<table cellspacing=\"1\" cellpadding=\"0\" border=\"0\" width=\"100%\">\n"+
		"<tr>\n	<td colspan=\"2\" bgcolor=\"#4682B4\">"+
		"<a href=\"javascript: var o = window.self; var v = window.opener.show_calendar_periodDates('" + str_format + 
		"','"+str_day+"','"+str_month+"','"+str_year+"','"+dt2str(dt_prev_year, str_format)+"'); if (o.name!=v.name) o.close();\">"+
		"<img src=\"images/prev_year.gif\" style=\"visibility:hidden\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"previous year\"></a> " +		
		"<a href=\"javascript: var o = window.self; var v = window.opener.show_calendar_periodDates('" + str_format + 
		 "','"+str_day+"','"+str_month+"','"+str_year+"','"+dt2str(dt_prev_month, str_format)+"'); if (o.name!=v.name) o.close();\">"+
		"<img src=\"images/prev.gif\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"previous month\"></a></td>\n"+
		"	<td align=middle bgcolor=\"#4682B4\" colspan=\"3\">"+
		"<font color=\"white\" >"
		+arr_months[dt_datetime.getMonth()]+" "+dt_datetime.getFullYear()+"</font></td>\n"+
		"	<td colspan=\"2\" bgcolor=\"#4682B4\" align=\"right\">" + 
		"<a href=\"javascript: var o = window.self; var v = window.opener.show_calendar_periodDates('" + str_format + 
		 "','"+str_day+"','"+str_month+"','"+str_year+"','"+dt2str(dt_next_month, str_format)+"');  if (o.name!=v.name) o.close();\">"+
		"<img src=\"images/next.gif\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"next month\"></a> " + 
		"<a href=\"javascript: var o = window.self; var v = window.opener.show_calendar_periodDates('" + str_format +
		 "','"+str_day+"','"+str_month+"','"+str_year+"','"+dt2str(dt_next_year, str_format)+"');  if (o.name!=v.name) o.close();\">"+
		"<img src=\"images/next_year.gif\"  style=\"visibility:hidden\" width=\"16\" height=\"16\" border=\"0\""+
		" alt=\"next year\"></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\">"+
		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\">";
				else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)
					// weekend days
					str_buffer += "	<td bgcolor=\"#DBEAF5\">";
				else
					// print working days of current month
					str_buffer += "	<td bgcolor=white>";

                if(Contains(aryDates, dt_current_day))
                {
				    if (dt_current_day.getMonth() == dt_datetime.getMonth())
					    // print days of current month
					    str_buffer += "<div style=\"height:100%; width:100%; background-color:yellow;\"><a href=\"javascript: update_ddl('"+dt2dtstr(dt_current_day)+"','"+str_day+"','"+str_month+"','"+str_year+"');\">";
				    else 
					    // print days of other months
					    str_buffer += "<div style=\"height:100%; width:100%; background-color:yellow;\"><a href=\"javascript: update_ddl('"+dt2dtstr(dt_current_day)+"','"+str_day+"','"+str_month+"','"+str_year+"');\">";
					    "<font color=\"gray\">";
			    }
			    else
			    {
			        if (dt_current_day.getMonth() == dt_datetime.getMonth())
					    // print days of current month
					    str_buffer += "<div><a style=\"text-decoration: line-through;\" href=\"#\">";
				    else 
					    // print days of other months
					    str_buffer += "<div><a style=\"text-decoration: line-through;\" href=\"#\">";
					    "<font color=\"gray\">";
			    }
				str_buffer += dt_current_day.getDate()+"</a></div></td>\n";
				dt_current_day.setDate(dt_current_day.getDate()+1);
		}
		// print row footer
		str_buffer += "</tr>\n";
	}
	// print calendar footer
	str_buffer +=
		"</table>\n" +
		"</tr>\n</td>\n</table>\n" +
		"<script language=Javascript>\n" +
"function update_ddl(str, str_day, str_month, str_year) \n" + 
"{ 	\n" + 
"var dt_datetime;  	\n" + 
"var curdate = new Date(); 	\n" + 
"if (str!='' && str!=null)	\n" + 
" { 		\n" + 
"	dt_datetime = window.opener.str2dt(str, 'dd-mm-yyyy');	\n" 

//if ( str_day !='' && str_day !=null) 
	str_buffer += "		window.opener.document.getElementById('" + str_day + "').value = dt_datetime.getDate() + \"/\"  + (dt_datetime.getMonth()+1) + \"/\"  + dt_datetime.getFullYear();\n";
str_buffer += "window.close();\n" + 

" }\n" +
" }\n" + 
		"</script>\n" +			
		"</body>\n" +
		"</html>\n";


	var vWinCal = window.open("", "Calendar", 
		"width=200,height=200,status=no,resizable=yes,top=200,left=200");
	vWinCal.opener = self;
	var calc_doc = vWinCal.document;
	calc_doc.write (str_buffer);
	calc_doc.close();
	
	if (window.focus) {vWinCal.focus()}
	
	return vWinCal;	
}


// datetime parsing and formatting routimes. modify them if you wish other datetime format
function str2dt (str_datetime, format) 
{
	var re_date;
	if (format == "yy-mm-dd" || format=="yyyy-mm-dd")
	{
		re_date = /^(\d+)\-(\d+)\-(\d+)/;
		if (!re_date.exec(str_datetime))
			return alert("Invalid Datetime format: "+ str_datetime);
		return (new Date (RegExp.$1, RegExp.$2-1, RegExp.$3));
	}
	if (format == null || format=='' || format == "dd-mm-yy" || format=="dd-mm-yyyy")
	{
		re_date = /^(\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));
	}
	if (format == "dd/mm/yy" || format=="dd/mm/yyyy")
	{
		re_date = /^(\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));
	}
	if (format == "mm/dd/yy" || format=="mm/dd/yyyy")
	{
		re_date = /^(\d+)\/(\d+)\/(\d+)/;
		if (!re_date.exec(str_datetime))
			return alert("Invalid Datetime format: "+ str_datetime);
		return (new Date (RegExp.$3, RegExp.$1-1, RegExp.$2));
	}

}
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 dt2str(dt_datetime, format)
{

var day, month, year;

	day = eval(dt_datetime.getDate());
	month = eval(dt_datetime.getMonth()+1);
	year = dt_datetime.getFullYear();

    if (day < 10) day = '0'+ day;
    if (month < 10) month = '0'+ month;


	if (format == null || format=='' || format=="yyyy-mm-dd")
	{
	 return (new String(year+"-"+month+"-"+day) );
	}

	if (format == null || format=='' || format=="mm/dd/yyyy")
	{
	 return (new String (month+"/"+day+"/"+year));
	}

	if (format == null || format=='' || format=="dd/mm/yyyy")
	{
	 return (new String (day+"/"+month+"/"+year));
	}

  //  year = (year < 2000 ? year - 1900 : year - 2000);
	if (year < 10) year = '0'+year;

	if (format == null || format=='' || format=="yy-mm-dd")
	{
	 return (new String(year+"-"+month+"-"+day) );
	}

	if (format == null || format=='' || format=="mm/dd/yy")
	{
	 return (new String (month+"/"+day+"/"+year));
	}

	if (format == null || format=='' || format=="dd/mm/yy")
	{
	 return (new String(day+"/"+month+"/"+year) );
	}



}


function GetAllowedDates(packageId, nowDate)
{
    var xmlhttp =  new XMLHttpRequest();
    xmlhttp.open('GET', '/admin/Ajax/AjaxGetPeriodDatesArray.aspx?id=' + packageId);
    
    /* The callback function */
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4) {
            if (xmlhttp.status == 200)
            {
                var strDates = xmlhttp.responseText;
                var aryStrDates = strDates.split(';');
                var aryDatesPerparation =new Array(); 
                
                for (i=0;i<=aryStrDates.length;i++)
                {
                    aryDatesPerparation[i] = new Date (aryStrDates[i]);
                }
                
                aryDates = aryDatesPerparation;
                
                show_calendar_periodDates('dd/mm/yyyy', '', '','', nowDate);
            }
        }
    }

    xmlhttp.send(null);
}

function GetAllowedDatesByDestination(cityId, HotelRank, nowDate, roomRate, txtbox, whatDestination, startBox, tripType, hotelId)
{
   
    
    if (cityId == 'בחר עיר-שדה חובה') {

        alert('אנא בחר עיר');

    }


    //if (HotelRank == "") HotelRank = 4;
   
    
    
    
    var xmlhttp =  new XMLHttpRequest();
    
    if(whatDestination != 'return')
    {
        xmlhttp.open('GET', 'Ajax/AjaxGetPeriodDatesArrayByDestination.aspx?city=' + cityId + '&rank=' + HotelRank + '&rate=' + roomRate + '&ttype=' + tripType + '&hotel=' + hotelId);
    }
    else
    {
        xmlhttp.open('GET', 'Ajax/AjaxGetPeriodEndDatesArrayByDestination.aspx?city=' + cityId + "&date=" + document.getElementById(startBox).value + '&rank=' + HotelRank+ '&rate=' + roomRate + '&ttype=' + tripType + '&hotel=' + hotelId);
    }
    
    /* The callback function */
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4) {
            if (xmlhttp.status == 200)
            {
                var strDates = xmlhttp.responseText;
                var aryStrDates = strDates.split(';');
                var aryDatesPerparation =new Array(); 
                
                for (i=0;i<aryStrDates.length && strDates != '';i++)
                {
                    aryDatesPerparation[i] = new Date (aryStrDates[i]);
                }
                
                aryDates = aryDatesPerparation;
                
                if(aryDatesPerparation.length ==0)
                    alert(' לא נמצאו חבילות לפי מאפייני החיפוש שבחרת, למידע על חבילות נוספות צור קשר טלפוני עם המשרד בטלפון: 09-8343777');
                else

                    
                    var mydate = new Date()
                    var year = mydate.getYear()
                    if (year < 1000)
                        year += 1900
                    var day = 15
                    var month = eval(mydate.getMonth()+1)


                    nowDate = day + '/' + month + '/' + year;

                    //alert(nowDate)
                    
                    show_calendar_periodDates('dd/mm/yyyy', txtbox, '','', nowDate);
            
            }
        }else{
           
        }
    }

    xmlhttp.send(null);
}

function Contains(aryDates , element) {
    for (var i = 0; i < aryDates.length; i++) {
        if (aryDates[i].getDate() == element.getDate() && aryDates[i].getMonth() == element.getMonth() && aryDates[i].getYear() == element.getYear()) {
         return true;
        }
    }
    return false;
}
