

/*** CALENDAR ***/


	function myValidDate(prefix) {
		var curYear = document.getElementById(prefix + "_year");
		var curMonth = document.getElementById(prefix + "_month");
		var curDay = document.getElementById(prefix + "_day");
	  year = curYear.options[curYear.selectedIndex ].value;
	  month = curMonth.options[curMonth.selectedIndex ].value;
	  day = curDay.options[curDay.selectedIndex ].value;
	  maxDay = 31;
	  if ( month == 4 || month == 6 || month == 9 || month == 11 ) {
	    maxDay = 30;
	  } else if ( month == 2 ) {
	    if ( year%100 != 0 && year%4 == 0 ) {
	      maxDay = 29;
	    } else {
	      maxDay = 28;
	    }
	  }
	  curDay.selectedIndex = Math.min(day, maxDay)-1;
	}
	
	
	function getCalValues(cal) {
		var date1 = cal.date;
		var time = date1.getTime();
		var curDay = document.getElementById("periodBegin_calendar_day");
		var curMonth = document.getElementById("periodBegin_calendar_month");
		var curYear = document.getElementById("periodBegin_calendar_year");
		curDay.selectedIndex = date1.getDate();
		curMonth.selectedIndex = date1.getMonth() + 1;
		var year = date1.getYear() + '';
		if (navigator.userAgent.indexOf("Firefox") != -1){
			year = "20" + year.substr(1,2);
		}
		for (var i=0; i < curYear.length; i++) {
				if (curYear.options[i].value == year) {
			        curYear.selectedIndex = i;
			   }
		}
	}
	function getCalValuesEnd(cal) {
		var date1 = cal.date;
		var time = date1.getTime();
		var curDay = document.getElementById("periodEnd_calendar_day");
		var curMonth = document.getElementById("periodEnd_calendar_month");
		var curYear = document.getElementById("periodEnd_calendar_year");
		curDay.selectedIndex = date1.getDate();
		curMonth.selectedIndex = date1.getMonth() + 1;
		var year = date1.getYear() + '';
		if (navigator.userAgent.indexOf("Firefox") != -1){
			year = "20" + year.substr(1,2);
		}
		for (var i=0; i < curYear.length; i++) {
				if (curYear.options[i].value == year) {
			        curYear.selectedIndex = i;
			   }
		}
	}

	
/*** ///////////// ***/


function goTo() {
	var select = document.getElementById('select');
	delCookie('tab');
	setCookie('tab',select.options[select.selectedIndex].value);
	alert(getCookieValue('tab'));
}

function PageQuery(q) {
if(q.length > 1) this.q = q.substring(1, q.length);
else this.q = null;
this.keyValuePairs = new Array();
if(q) {
for(var i=0; i < this.q.split("&").length; i++) {
this.keyValuePairs[i] = this.q.split("&")[i];
}
}
this.getKeyValuePairs = function() { return this.keyValuePairs; }
this.getValue = function(s) {
for(var j=0; j < this.keyValuePairs.length; j++) {
if(this.keyValuePairs[j].split("=")[0] == s)
return this.keyValuePairs[j].split("=")[1];
}
return false;
}
this.getParameters = function() {
var a = new Array(this.getLength());
for(var j=0; j < this.keyValuePairs.length; j++) {
a[j] = this.keyValuePairs[j].split("=")[0];
}
return a;
}
this.getLength = function() { return this.keyValuePairs.length; }
}
function queryString(key){
var page = new PageQuery(window.location.search);
return unescape(page.getValue(key));
}
function displayItem(key){

var tab_num = 1;
if(queryString(key)=='false')
{
 tab_num = "1";
}else{
 tab_num = queryString(key);
}
return tab_num;
}



var dQuotePattern = /\"/g;
function getCookieValue(cookieName) {
 var c = document.cookie;
 var nameStart = c.indexOf(cookieName + "=");
 if (nameStart == -1) return undefined;
 var separatorPos = c.indexOf(";", nameStart);
 if (separatorPos == -1) separatorPos = c.length;
 var cStr = c.substring(nameStart, separatorPos);
 cStr = cStr.substring(cStr.indexOf("=") + 1, cStr.length);
 cStr = unescape(cStr);
 cStr = cStr.replace(dQuotePattern, "");
 return cStr;
}

function setCookie(cookieName, cookieValue, remove) {
 var date = new Date();
 if(remove) {
  date.setTime = 0;
 } else {
  date.setFullYear(2010,10,3);
 }
 document.cookie = cookieName + "=" + escape(cookieValue) + "; expires=" + date.toGMTString() + "; path=/";
}


function delCookie(name, path, domain)
{
  if (getCookie(name))
    setCookie(name, "", new Date("January 01, 2000 00:00:01"), path, domain);
}



function openPopup(url, width, height, windowName) {
	if (!windowName) {
		windowName = 'popup_page' + Math.round(Math.random() * 1000);
	}
	var left = (screen.width - width) / 2;
	var top = (screen.height - height) / 2;
	var win = window.open(url, windowName, 'width=' + width + ',height=' + height + ',left=' + left + ',top=' + top + ',menubar=0,location=0,resizable=0,scrollbars=0,directories=0,scroll=0,status=0,menubar=0,locationbar=0,statusbar=0,titlebar=0,toolbar=0');
	

}

function setImgCount(obj) {
	window.alert("OK!");
	imgCollection = document.getElementById(obj).childNodes;
	images = new Array();
	for (i = 0; i < imgCollection.length; i++) {
		if (imgCollection.item(i).nodeName == "IMG") {
			images[i] = imgCollection.item(i);
			window.alert(images[i].getAttribute("SRC"));
		}
		else {
			children = imgCollection.item(i).childNodes;
			for (j = 0; j < children.length; j++) {
				if (children.item(j).nodeName == "IMG") {
					images[i] = children.item(j);
					window.alert(images[i].getAttribute("SRC"));					
				}
			}
		}
	}
}

function topmenu_me(obj,doVis){
	if (doVis){
  	obj.style.visibility = "visible";
  }else{
  	obj.style.visibility = "hidden";
  }
}

function loadFilmImg(imgID, imgPath, hrefID) {

	if (document.images[imgID]) {
		document.images[imgID].src = imgPath;
		var mySplitResult = imgPath.split("?");
		/*var finalSplitResult = mySplitResult[0].split(".jpg_");*/
		var finalSplitResult = mySplitResult[0].split(/\_[0-9]/);
		document.getElementById(hrefID).href = finalSplitResult[0];
		
		
	} 
	else if (document.getElementById(imgID)) {
		document.getElementById(imgID).setAttribute("SRC", imgPath);
s	}

}

function navStyle(link_id, links_array) {
	for (var i = 0; i < links_array.length; i++) {
		if (links_array[i] == link_id) {
			document.getElementById(link_id).style.cursor="point";
			document.getElementById(link_id).style.fontWeight = "bold";
			document.getElementById(link_id).style.textDecoration = "underline";
			offsetPos = i;
		}
		else {
			document.getElementById(links_array[i]).style.color="#005c8d";
			document.getElementById(links_array[i]).style.cursor="hand";	
			document.getElementById(links_array[i]).style.fontWeight="normal";	
			document.getElementById(links_array[i]).style.textDecoration="none";	
		}
	}
}

function makeValidDate(prefix) {
  year = document.getElementById(prefix + "_calendar_year").options[ document.getElementById(prefix + "_calendar_year").selectedIndex ].value;
  month = document.getElementById(prefix + "_calendar_month").options[ document.getElementById(prefix + "_calendar_month").selectedIndex ].value;
  day = document.getElementById(prefix + "_calendar_day").options[ document.getElementById(prefix + "_calendar_day").selectedIndex ].value;
  maxDay = 31;
  if ( month == 4 || month == 6 || month == 9 || month == 11 ) {
    maxDay = 30;
  } else if ( month == 2 ) {
    if ( year%100 != 0 && year%4 == 0 ) {
      maxDay = 29;
    } else {
      maxDay = 28;
    }
  }
  document.getElementById(prefix + "_calendar_day").selectedIndex = Math.min(day, maxDay)-1;
}
var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

function checkDate(){

  var day = parseInt(document.getElementById("calendar_day").options[ document.getElementById("calendar_day").selectedIndex ].value);
  var month = parseInt(document.getElementById("calendar_month").options[ document.getElementById("calendar_month").selectedIndex ].value);
  var year = parseInt(document.getElementById("calendar_year").options[ document.getElementById("calendar_year").selectedIndex ].value);

  if (!day || !month || !year)
    return false;

  if (year/4 == parseInt(year/4))
    monthLength[1] = 29;

  if (day > monthLength[month-1])
    return false;

  monthLength[1] = 28;

  var now = new Date();
  now = now.getTime(); //NN3

  var dateToCheck = new Date();
  dateToCheck.setYear(year);
  dateToCheck.setMonth(month-1);
  dateToCheck.setDate(day);
  var checkDate = dateToCheck.getTime();

  var futureDate = (now < checkDate);
  var pastDate = (now > checkDate);

  if(pastDate)
  {
    alert("Please Enter Dates Ahead Of Today\'S Date.  Thank You.");
  }
  else
  {
    document.order_course.Submit.value=1;
    document.order_course.submit();
  }
  
}

 function isBrowserSupp() {
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description: Checks if browser is Netscape 2.0 since the options 
// *                            array properties don't work with Netscape 2.0x
// ****************************************************************

    // Get the version of the browser
    version =  parseFloat( navigator.appVersion );

    if ( ( version >= 2.0 ) && ( version < 2.1 ) && ( navigator.appName.indexOf( "Netscape" ) != -1 ) ) {
        return false;
    }
    else {
        return true;
    }                  
}


function isLeapYear(yrStr)
{
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Checks if Year selected is a leap year
// ****************************************************************
var leapYear=false;
// every fourth year is a leap year
if ((parseInt(yrStr, 10)%4) == 0)
        {
        leapYear=true;
        }
return leapYear;
}

function getDaysInMonth(mthIdx, YrStr)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Retrieves the number of days in a given month
// ****************************************************************
{
//Default number of days in a month is 31
var maxDays=31
// expect Feb. 
if (mthIdx==2) 
        {
        if (isLeapYear(YrStr))
                {
                maxDays=29;
                }
        else 
                {
                maxDays=28;
                }
        }
// All the rest of the months have 30 days
if (mthIdx==4 || mthIdx==6 || mthIdx==9 || mthIdx==11)
        {
        maxDays=30;
        }
return maxDays;
}


function adjustDate(mthIdx, Dt, Yr) 
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Adjusts the format of the Date
// ****************************************************************
{
var value=0;            
var numDays=getDaysInMonth(mthIdx, Yr.options[Yr.options.selectedIndex].value);

if (mthIdx==2) 
        {
        if (Dt.options.selectedIndex < numDays)
                {
                return 0;
                }
        else 
                {
                //check for leap year
                Dt.options.selectedIndex=numDays;
                if (numDays==29)
                        {
                        return 99;
                        }
                else 
                        {
                        return 1;
                        }
                }
        }
if (Dt.options.selectedIndex < numDays)
        {
        value=0;
        }
else 
        {
        if (Dt.options.selectedIndex > numDays)
                {
                Dt.options.selectedIndex;
                value=3;
                }
        else 
                {
                //index is 31 or 30
                value=2;
                }
        }
return value;
}



function parseMonth(mth, inM)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Parses a string and returns a month value
// ****************************************************************
{
var i=1;
var retval =1;
for (i=1;i<=12;i++)
        {
        if (mth == inM.options[i].value)
                {
                retval=i;       
                break;
                }       
        }
        return retval;
}

function parseDay(day, inD)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Parses a string and returns a day value
// ****************************************************************
{
var i=1;
var retval =1;
for (i=1;i<=31;i++)
        {
        if (day == inD.options[i].value)
                {
                retval=i;       
                break;
                }       
        }
return retval;
}

function parseYear(year, inY)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Parses a string and returns a year value
// ****************************************************************
{
var retval=0;
var i=0;
     for (i=0; i<=5; i++)
     {
   
        if (year == inY.options[i].value)
                {
                retval=i;       
                break;
                }       
     }
return retval;
}

//Calendar Section
//calculation functions
function nextMonth(month)
{
if (month==12)
        {
        return 1;
        }
else
        {
        return (month+1);
        }
}


function prevMonth(month) 
{
var prevMonth = (month-1)
if (month==1)
        {
        prevMonth = 12;
        }
return prevMonth
}

function changeYear(direction,month,year)
{
var theYear = year
if (direction=="next")
        {
        if (month == 12)
                {
                theYear = (year+1)
                }
        }
if (direction=="prev")
        {
        if (month == 1)
                {
                theYear = (year-1)
                }
        }
return theYear
}


function createCalendar(month, year, io, prefix) 
{
if (!isBrowserSupp())
        {
        alert("Your browser is outdated and does not support this feature")
        return;
        }
if (navigator.appVersion.indexOf("Mac",0) != -1) 
        {
        calendarWindow = window.open("","Calendar","width=165,height=200,resizable=yes,scrollbars=no");
        } 
else 
        {
        calendarWindow = window.open("","Calendar","width=165,height=200,resizable=yes,scrollbars=no");
        }
        var mthIdx = month.options.selectedIndex
        var mthVal = month.options[mthIdx].value
        var yearVal = year.options[year.options.selectedIndex].value
        var myMnt = month
        var myYear = year
        //call the function to populate the window
        generateCalendar(calendarWindow,mthVal,yearVal,io, prefix)
}


//generates the meat of the calendar
function generateCalendar(target,month,year,io, prefix)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    generates the contents of the calender window
// **************************************************************** 
{


if (!isBrowserSupp())
        {
        return;
        }       
var monthName = new Array ("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь")

//begin table for calendar
target.document.open()
calendar = "<html><head><title>calendar</title></head>"
calendar +="<link rel=\"stylesheet\" href=\"/database/system/modules/com.gridnine.opencms.modules.startravel/resources/css/calendar.css\" type=\"text/css\">"
calendar +="<body bgcolor=ffffff link='#000080'>"
calendar +="<table border=0 cellspacing=1 cellpadding=3 width=150 class=\"JSCalendar_BG\">"
calendar +="<tr valign=top>"

//The parseInt function parses the string argument as a signed decimal integer. 
var mthIdx = parseInt(month);
var endday = getDaysInMonth(mthIdx, year)

//month header
calendar +="<td colspan=7 align=center class='JSCalendarTitle'>"
var index = (mthIdx-1)
calendar +="<b><span class='BElarge'>" + monthName[index] + " " + year + "</span></b></td></tr>"
calendar +="</tr>"


//writes in the day of the week labels
calendar +="<tr align=center>"
calendar +="<td width=15 class='JSCalendarWeek'><span class='BEsmall'>&nbsp;<b>П</b></font></td>"
calendar +="<td width=15 class='JSCalendarWeek'><span class='BEsmall'>&nbsp;<b>В</b></font></td>"
calendar +="<td width=15 class='JSCalendarWeek'><span class='BEsmall'>&nbsp;<b>С</b></font></td>"
calendar +="<td width=15 class='JSCalendarWeek'><span class='BEsmall'>&nbsp;<b>Ч</b></font></td>"
calendar +="<td width=15 class='JSCalendarWeek'><span class='BEsmall'>&nbsp;<b>П</b></font></td>"
calendar +="<td width=15 class='JSCalendarWeekend'><span class='BEsmall'>&nbsp;<b>С</b></font></td>"
calendar +="<td width=15 class='JSCalendarWeekend'><span class='BEsmall'>&nbsp;<b>В</b></font></td>"
calendar +="</tr>"

wholeDate = month + "/01/" + year
thedate = new Date(wholeDate)
firstDay = thedate.getDay()

selectedmonth = mthIdx;
var today = new Date();
var thisyear = today.getYear() + 1900;
selectedyear = year

var lastDay = (endday + firstDay+1)
var lastCalspace = 42

var NoDays = (lastDay - (firstDay + 1))
var TotalDaysFilled = NoDays + firstDay;

calendar +="<tr>"
for (var i = 1; i <= lastCalspace; i++)
        {
		
        if (i <= firstDay)
                {
                // 'empty' boxes prior to first day
                calendar +="<td class='JSCalendarDays'><img src='images/trans.gif' height=1 width=1></td>"
                }
        if (i > firstDay && i <= TotalDaysFilled)
                {
                // enter date number
                calendar +="<td align=center class='JSCalendarDays'><a href=\"JavaScript:self.close();opener.closeCalendar"+io+"("+(i-firstDay) + ",'" + prefix + "');\" class='calendar'> "+(i-firstDay)+ "</a></td>"
				}
		if (i > TotalDaysFilled && i <= lastCalspace) 
				{
				// 'empty' boxes after TotalDaysFilled
				calendar +="<td class='JSCalendarDays'><img src='images/trans.gif' height=12 width=1></td>"
				}
        //must start new row after each week
        if (i % 7 == 0 &&  i != lastCalspace)
                {
                calendar +="</tr>"
				calendar +="<tr>"
                }
        }
calendar +="</tr>"

//prev month - next month controls table
calendar +="<tr><td colspan=7 align=center class='JSCalendarTitle'>"

//next month and previous month buttons
var goPrevMonth = prevMonth(mthIdx)
var goNextMonth = nextMonth(mthIdx)
var nextYear = changeYear("next",parseInt(month),parseInt(year))
var prevYear = changeYear("prev",parseInt(month),parseInt(year))

if(navigator.userAgent.indexOf('MSIE',0) != -1)
        {
		calendar +="<table cellpadding=0 cellspacing=0 border=0 width=100%>"
        calendar +="<tr><td align=left class='JSCalendarTitle'><br><a href='javascript:opener.generateCalendar(self,"+goPrevMonth+","+prevYear+",\""+io+"\",\""+prefix+"\")' class='calcontrol'>Prev</a><br></td>"
        calendar +="<td align=right class='JSCalendarTitle'><br><a href='javascript:opener.generateCalendar(self,"+goNextMonth+","+nextYear+",\""+io+"\",\""+prefix+"\")' class='calcontrol'>Next</a><br></td></tr>"
		calendar +="</table>"
		calendar +="</td></tr>"
		calendar +="</table></body></html>"
        target.document.close()
        }
else
        {
		calendar +="<table cellpadding=0 cellspacing=0 border=0 width=100%>"
        calendar +="<fo"+"rm><tr><td align=left class='JSCalendarTitle'><br><input type='button' value=' < ' onClick='document.clear();opener.generateCalendar(opener.calendarWindow,\'"+goPrevMonth+"\',\'"+prevYear+"\',\'"+io+"\',\'"+prefix+"\')'><br></td>"
        calendar +="<td align=right class='JSCalendarTitle'><br><input type='button' value=' > '"+"onClick='document.clear();opener.generateCalendar(opener.calendarWindow,"+goNextMonth+","+nextYear+",\""+io+"\",\""+prefix+"\")'><br></td></tr></form>"
		calendar +="</table>"
		calendar +="</td></tr>"
        calendar +="</table></body></html>"
        }
target.document.write(calendar);
target.document.close() 
}

function closeCalendar(day, prefix) {
        var yrIdx = parseYear(selectedyear,document.getElementById(prefix + "_calendar_year") );

		
        // Decrement index for day and month, because code assumes 
        // that we have an extra defaultvalue at the start.
        document.getElementById(prefix + "_calendar_month").options.selectedIndex=selectedmonth-1;
        document.getElementById(prefix + "_calendar_year").options.selectedIndex= yrIdx;
        document.getElementById(prefix + "_calendar_day").options.selectedIndex=parseInt(day)-1;
}


