var Status = new Boolean(true)
var SingleFlight =  new Boolean(false)
var goToRow 
var DateValid = 'M/d/y'
var DateValidText = 'mm/dd/yyyy'

function strim(s){
	return s.replace(/^\s*|\s*$/g,"");
}

function isValidEmail(str){
	str = strim(str);
	return 	(str.indexOf(".") > 0) &&						// Must not begin with "."
			(str.indexOf("@") > 0) && 						// Must contain with "@" and not begin with it
			(str.lastIndexOf(".") > str.indexOf("@")) && 	// Must have "." after "@"
			(str.lastIndexOf(".") <  str.length - 1);		// Must not end with "."
}

function ValidFields(o){
	Status =  true;
	var e = '';
/*	
	var adu	= document.getElementById(o+'_cmbAdult');
	var chi	= document.getElementById(o+'_cmbChild');
	var inf	= document.getElementById(o+'_cmbInfant');
*/	
	var fn	= document.getElementById(o+'_tbLeadPassengerFirstName');
	var ln	= document.getElementById(o+'_tbLeadPassengerLastName');
	var ad	= document.getElementById(o+'_tbLeadPassengerAddress1');
	var pt	= document.getElementById(o+'_tbLeadPassengerPostalTown');
	var pc	= document.getElementById(o+'_tbLeadPassengerPostcode');
	var ct	= document.getElementById(o+'_ddlLeadPassengerCountry');
	var pn	= document.getElementById(o+'_tbLeadPassengerContactPhoneNumber');
	var pm	= document.getElementById(o+'_tbLeadPassengerContactMobile');
	var em1	= document.getElementById(o+'_tbLeadPassengerEmailAddress');
	var em2	= document.getElementById(o+'_tbLeadPassengerEmailAddressReEnter');	
	var or	= document.getElementById(o+'_tboOrigin');
	var de	= document.getElementById(o+'_tboDestination');
	var pa	= document.getElementById(o+'_tboTotalPassenger');
		
	if (strim(fn.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid First name.</li>"
		fn.className = 'error'
	}else{
		fn.className = ''
	}
	
	if (strim(ln.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Surname.</li>"
		ln.className = 'error'
	}else{
		ln.className = ''
	}
	
	if (strim(ad.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Postal Address.</li>"
		ad.className = 'error'
	}else{
		ad.className = ''
	}
	
	if (strim(pt.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Town/City.</li>"
		pt.className = 'error'
	}else{
		pt.className = ''
	}
	
	if (strim(pc.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Postal code.</li>"
		pc.className = 'error'
	}else{
		pc.className = ''
	}	
	
	if ((strim(pn.value).length + strim(pm.value).length) < 5){
		Status =  false;
		e += "<li>Please supply a valid Telephone.</li>"
		pn.className = 'error'
		pm.className = 'error'
	}else{
		pn.className = ''
		pm.className = ''
	}
	
	if (strim(em1.value).length==0){
		Status =  false;
		e += "<li>Please supply a valid Email.</li>"
		em1.className = 'error';
	}else{		
		if (isValidEmail(strim(em1.value))){
			em1.className = '';
		}else {
			Status =  false;
			e += "<li>Please check the Email format. A valid email is required.</li>";
			em1.className = 'error';
		}
	}
	if (strim(em2.value).length==0){
		Status =  false;
		e += "<li>Please supply a valid Confirm Email.</li>"
		em2.className = 'error';
	}else{		
		if (isValidEmail(strim(em2.value))){		
			if (strim(em2.value) != strim(em1.value)){
				Status =  false;
				e += "<li>Please enter the same Email in both the email boxes.</li>"
				em2.className = 'error';
			}else{
				em2.className = '';
			}
		}else {
			Status =  false;
			e += "<li>Please check the Confirm Email format. A valid email is required.</li>";
			em2.className = 'error';
		}
	}
	if (strim(pa.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Total Passenger Numbers.</li>"
		pa.className = 'error'
	}else{
		pa.className = ''
	}
	if (strim(or.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Origin.</li>"
		or.className = 'error'
	}else{
		or.className = ''
	}
	
	if (strim(de.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Destination.</li>"
		de.className = 'error'
	}else{
		de.className = ''
	}
	
	var Container = document.getElementById(o+'_LabError');
	if (e.length > 0) {		
		Container.innerHTML = 	'<ul>' + e + '</ul>';
	}
	else{
		Container.innerHTML = 	'';
	}
	
	return Status;
}

function ValidFieldsGroups(o){
	Status =  true;
	var e = '';

	var adu	= document.getElementById(o+'_cmbAdult');
	var chi	= document.getElementById(o+'_cmbChild');
	var inf	= document.getElementById(o+'_cmbInfant');

	var fn	= document.getElementById(o+'_tbLeadPassengerFirstName');
	var ln	= document.getElementById(o+'_tbLeadPassengerLastName');
	var ad	= document.getElementById(o+'_tbLeadPassengerAddress1');
	var pt	= document.getElementById(o+'_tbLeadPassengerPostalTown');
	var pc	= document.getElementById(o+'_tbLeadPassengerPostcode');
	var ct	= document.getElementById(o+'_ddlLeadPassengerCountry');
	var pn	= document.getElementById(o+'_tbLeadPassengerContactPhoneNumber');
	var pm	= document.getElementById(o+'_tbLeadPassengerContactMobile');
	var em1	= document.getElementById(o+'_tbLeadPassengerEmailAddress');
	var em2	= document.getElementById(o+'_tbLeadPassengerEmailAddressReEnter');	
	var ow	= document.getElementById(o+'_cmbOneway');


	var passengerNum = eval(adu[adu.selectedIndex].value) + eval(chi[chi.selectedIndex].value);

	if (10 > passengerNum ){
		Status =  false;
		e += "<li>Please supply a valid Group Size. Minimum 10 People for a group (Not Including Infant)</li>"
		adu.className = 'error'
		chi.className = 'error'
	}else{		
		adu.className = ''
		chi.className = ''
	}
	
	if (strim(fn.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid First name.</li>"
		fn.className = 'error'
	}else{
		fn.className = ''
	}
	
	if (strim(ln.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Surname.</li>"
		ln.className = 'error'
	}else{
		ln.className = ''
	}
	
	if (strim(ad.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Postal Address.</li>"
		ad.className = 'error'
	}else{
		ad.className = ''
	}
	
	if (strim(pt.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Town/City.</li>"
		pt.className = 'error'
	}else{
		pt.className = ''
	}
	
	if (strim(pc.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Postal code.</li>"
		pc.className = 'error'
	}else{
		pc.className = ''
	}	
	
	if ((strim(pn.value).length + strim(pm.value).length) < 5){
		Status =  false;
		e += "<li>Please supply a valid Telephone.</li>"
		pn.className = 'error'
		pm.className = 'error'
	}else{
		pn.className = ''
		pm.className = ''
	}
	
	if (strim(em1.value).length==0){
		Status =  false;
		e += "<li>Please supply a valid Email.</li>"
		em1.className = 'error';
	}else{		
		if (isValidEmail(strim(em1.value))){
			em1.className = '';
		}else {
			Status =  false;
			e += "<li>Please check the Email format. A valid email is required.</li>";
			em1.className = 'error';
		}
	}
	if (strim(em2.value).length==0){
		Status =  false;
		e += "<li>Please supply a valid Confirm Email.</li>"
		em2.className = 'error';
	}else{		
		if (isValidEmail(strim(em2.value))){		
			if (strim(em2.value) != strim(em1.value)){
				Status =  false;
				e += "<li>Please enter the same Email in both the email boxes.</li>"
				em2.className = 'error';
			}else{
				em2.className = '';
			}
		}else {
			Status =  false;
			e += "<li>Please check the Confirm Email format. A valid email is required.</li>";
			em2.className = 'error';
		}
	}
	
	if (ow.checked != true) {
		if (LibDaysDiff(GetCalenderDate(o + '_ctlReturnDate'),GetCalenderDate(o + '_ctlDepatureDate')) < 0){
			Status =  false;
			e += "<li>Please check your Return Date! It has to be equal to or higher than the Departure Date.</li>";
			document.getElementById(o + '_ctlReturnDate_cmbDay').className = 'error';
			document.getElementById(o + '_ctlReturnDate_cmbMonthYear').className = 'error';
		}else {
			document.getElementById(o + '_ctlReturnDate_cmbDay').className = '';
			document.getElementById(o + '_ctlReturnDate_cmbMonthYear').className = '';
		}
	}
	
	var Container = document.getElementById(o+'_LabError');
	if (e.length > 0) {		
		Container.innerHTML = 	'<ul>' + e + '</ul>';
	}
	else{
		Container.innerHTML = 	'';
	}
	return Status;
}

function ValidBonVoyageBreak(o){
	Status =  true;
	var e = '';

	var ln	= document.getElementById(o+'_tbLeadName');
	var tn	= document.getElementById(o+'_tbTel');
	var em1	= document.getElementById(o+'_tbEmail');
	var em2	= document.getElementById(o+'_tbConfirmEmail');	
	
	//somm comment  var ht	= document.getElementById(o+'_tbHotel1'); 
	var an	= document.getElementById(o+'_tbAdultNumber');
	var cn	= document.getElementById(o+'_tbChildrenNumber');
	var ca =  document.getElementById(o+'_tbChildrenAge');

	//somm add
	var ht1	= document.getElementById(o+'_tbHotel1');
	var ht2	= document.getElementById(o+'_tbHotel2');
	//end somm add

	if (strim(ln.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Lead Name.</li>"
		ln.className = 'error'
	}else{
		ln.className = ''
	}
	
	if (strim(tn.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Telephone No.</li>"
		tn.className = 'error'
	}else{
		tn.className = ''
	}
	
	if (strim(em1.value).length==0){
		Status =  false;
		e += "<li>Please supply a valid Email.</li>"
		em1.className = 'error';
	}else{		
		if (isValidEmail(strim(em1.value))){
			em1.className = '';
		}else {
			Status =  false;
			e += "<li>Please check the Email format. A valid email is required.</li>";
			em1.className = 'error';
		}
	}
	if (strim(em2.value).length==0){
		Status =  false;
		e += "<li>Please supply a valid Confirm Email.</li>"
		em2.className = 'error';
	}else{		
		if (isValidEmail(strim(em2.value))){		
			if (strim(em2.value) != strim(em1.value)){
				Status =  false;
				e += "<li>Please enter the same Email in both the email boxes.</li>"
				em2.className = 'error';
			}else{
				em2.className = '';
			}
		}else {
			Status =  false;
			e += "<li>Please check the Confirm Email format. A valid email is required.</li>";
			em2.className = 'error';
		}
	}
	
	/* somm comment
	if (strim(ht.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Hotel(1st Choice).</li>"
		ht.className = 'error'
	}else{
		ht.className = ''
	}
	*/

	 if ((ht1.options[ht1.selectedIndex].text) == (ht2.options[ht2.selectedIndex].text))
	 {
		 Status =  false;
		 e += "<li>Please select different hotel.</li>" 
		 ht2.className = 'error'
		}else{
		ht2.className = ''
	}

	if (strim(an.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Number of Adults.</li>"
		an.className = 'error'
	}else{
		an.className = ''
	}
	if (strim(cn.value).length != 0 && strim(ca.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Ages for Children under 12 Years.</li>"
		ca.className = 'error'
	}else{
		ca.className = ''
	}
	
	var Container = document.getElementById(o+'_LabError');
	if (e.length > 0) {		
		Container.innerHTML = 	'<ul>' + e + '</ul>';
	}
	else{
		Container.innerHTML = 	'';
	}
	
	return Status;
}

function ValidContactUs(o){
	Status =  true;
	var e = '';

	var na	= document.getElementById(o+'_tbName');
	var em	= document.getElementById(o+'_tbEmail');
	var tp	= document.getElementById(o+'_tbTelephone');
	var cm	= document.getElementById(o+'_tbComments');	

	if (strim(na.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Name.</li>"
		na.className = 'error'
	}else{
		na.className = ''
	}

	if (strim(em.value).length==0){
		Status =  false;
		e += "<li>Please supply a valid E-mail.</li>"
		em.className = 'error';
	}else{		
		if (isValidEmail(strim(em.value))){
			em.className = '';
		}else {
			Status =  false;
			e += "<li>Please check the Email format. A valid email is required.</li>";
			em.className = 'error';
		}
	}

	if (strim(tp.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Telephone.</li>"
		tp.className = 'error'
	}else{
		tp.className = ''
	}
	
	if (strim(cm.value).length == 0){
		Status =  false;
		e += "<li>Please supply a valid Comments.</li>"
		cm.className = 'error'
	}else{
		cm.className = ''
	}
		
	var Container = document.getElementById(o+'_LabError');
	if (e.length > 0) {		
		Container.innerHTML = 	'<ul>' + e + '</ul>';
	}
	else{
		Container.innerHTML = 	'';
	}
	
	return Status;
}


function HideGroup(Name,Action){
	var col = document.getElementsByName(Name)
	for (var i=0;i <= col.length - 1;i++){
		col[i].style.visibility = (Action == 'none') ? 'hidden' : 'visible';
		SingleFlight = (Action == 'none') ? true : false;
	}
}
function CheckAdultInfant(o){
	var iA = new Number(document.getElementById(o + '_cmbAdult').options[document.getElementById(o + '_cmbAdult').selectedIndex].value)	
	var iI = new Number(document.getElementById(o + '_cmbInfant').options[document.getElementById(o + '_cmbInfant').selectedIndex].value)
	if (iA<iI){
		alert('It is not possible to book more Infants than Adults!')
		document.getElementById(o + '_cmbInfant').selectedIndex = 0
	}
}
function ValidSDate(o){
	//Status =  true;
//	alert(GetCalenderDate(o + '_ctlReturnDate'));
	if (Status == true && SingleFlight == false) {
		if (LibDaysDiff(GetCalenderDate(o + '_ctlReturnDate'),GetCalenderDate(o + '_ctlDepatureDate')) < 0){
			alert('Please check your Return Date! It has to be equal to or higher than the Departure Date.')
			Status =  false;
		}
	}
}
function GetCalenderDate(o){
	var od = document.getElementById(o+'_cmbDay')
	var ot = document.getElementById(o+'_cmbMonthYear')
	var y = ot.options[ot.selectedIndex].value.slice(0,4)
	var m = ot.options[ot.selectedIndex].value.slice(5,6)
	var d = od.options[od.selectedIndex].value 
	return new Date(y,m-1,d,0,0,0)
}

function LibDaysDiff(d1,d2) {
	var z = Date.UTC(Liby2k(d1.getYear()),d1.getMonth(),d1.getDate(),d1.getHours(),d1.getMinutes(),0) - Date.UTC(Liby2k(d2.getYear()),d2.getMonth(),d2.getDate(),d2.getHours(),d2.getMinutes(),0);
	return z/1000/60/60/24;
}

function Liby2k(number){
	return (number < 1000) ? number + 1900 : number;
}
/*
if (document.getElementById('GroupBooking1_ctlDepatureDate_cmbDay')!=null) {
		ChangeCalender('GroupBooking1_ctlDepatureDate')
		ChangeCalender('GroupBooking1_ctlReturnDate')
}*/

function OnSubmit(){
	if (Status){
		return true;
	}else{
		Status = true
		return false;
	}
}

Date.$VERSION = 1.01;
Date.LZ = function(x){return(x<0||x>9?"":"0")+x};Date.monthNames = new Array('January','February','March','April','May','June','July','August','September','October','November','December');Date.monthAbbreviations = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');Date.dayNames = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');Date.dayAbbreviations = new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');Date.preferAmericanFormat = true;if(!Date.prototype.getFullYear){Date.prototype.getFullYear = function(){var yy=this.getYear();return(yy<1900?yy+1900:yy);}}
Date.parseString = function(val, format){if(typeof(format)=="undefined" || format==null || format==""){var generalFormats=new Array('y-M-d','MMM d, y','MMM d,y','y-MMM-d','d-MMM-y','MMM d','MMM-d','d-MMM');var monthFirst=new Array('M/d/y','M-d-y','M.d.y','M/d','M-d');var dateFirst =new Array('d/M/y','d-M-y','d.M.y','d/M','d-M');var checkList=new Array(generalFormats,Date.preferAmericanFormat?monthFirst:dateFirst,Date.preferAmericanFormat?dateFirst:monthFirst);for(var i=0;i<checkList.length;i++){var l=checkList[i];for(var j=0;j<l.length;j++){var d=Date.parseString(val,l[j]);if(d!=null){return d;}}}return null;}
this.isInteger = function(val){for(var i=0;i < val.length;i++){if("1234567890".indexOf(val.charAt(i))==-1){return false;}}return true;};
this.getInt = function(str,i,minlength,maxlength){for(var x=maxlength;x>=minlength;x--){var token=str.substring(i,i+x);if(token.length < minlength){return null;}if(this.isInteger(token)){return token;}}return null;};val=val+"";format=format+"";var i_val=0;var i_format=0;var c="";var token="";var token2="";var x,y;var year=new Date().getFullYear();var month=1;var date=1;var hh=0;var mm=0;var ss=0;var ampm="";while(i_format < format.length){c=format.charAt(i_format);token="";while((format.charAt(i_format)==c) &&(i_format < format.length)){token += format.charAt(i_format++);}if(token=="yyyy" || token=="yy" || token=="y"){if(token=="yyyy"){x=4;y=4;}if(token=="yy"){x=2;y=2;}if(token=="y"){x=2;y=4;}year=this.getInt(val,i_val,x,y);if(year==null){return null;}i_val += year.length;if(year.length==2){if(year > 70){year=1900+(year-0);}else{year=2000+(year-0);}}}else if(token=="MMM" || token=="NNN"){month=0;var names =(token=="MMM"?(Date.monthNames.concat(Date.monthAbbreviations)):Date.monthAbbreviations);for(var i=0;i<names.length;i++){var month_name=names[i];if(val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()){month=(i%12)+1;i_val += month_name.length;break;}}if((month < 1)||(month>12)){return null;}}else if(token=="EE"||token=="E"){var names =(token=="EE"?Date.dayNames:Date.dayAbbreviations);for(var i=0;i<names.length;i++){var day_name=names[i];if(val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase()){i_val += day_name.length;break;}}}else if(token=="MM"||token=="M"){month=this.getInt(val,i_val,token.length,2);if(month==null||(month<1)||(month>12)){return null;}i_val+=month.length;}else if(token=="dd"||token=="d"){date=this.getInt(val,i_val,token.length,2);if(date==null||(date<1)||(date>31)){return null;}i_val+=date.length;}else if(token=="hh"||token=="h"){hh=this.getInt(val,i_val,token.length,2);if(hh==null||(hh<1)||(hh>12)){return null;}i_val+=hh.length;}else if(token=="HH"||token=="H"){hh=this.getInt(val,i_val,token.length,2);if(hh==null||(hh<0)||(hh>23)){return null;}i_val+=hh.length;}else if(token=="KK"||token=="K"){hh=this.getInt(val,i_val,token.length,2);if(hh==null||(hh<0)||(hh>11)){return null;}i_val+=hh.length;hh++;}else if(token=="kk"||token=="k"){hh=this.getInt(val,i_val,token.length,2);if(hh==null||(hh<1)||(hh>24)){return null;}i_val+=hh.length;hh--;}else if(token=="mm"||token=="m"){mm=this.getInt(val,i_val,token.length,2);if(mm==null||(mm<0)||(mm>59)){return null;}i_val+=mm.length;}else if(token=="ss"||token=="s"){ss=this.getInt(val,i_val,token.length,2);if(ss==null||(ss<0)||(ss>59)){return null;}i_val+=ss.length;}else if(token=="a"){if(val.substring(i_val,i_val+2).toLowerCase()=="am"){ampm="AM";}else if(val.substring(i_val,i_val+2).toLowerCase()=="pm"){ampm="PM";}else{return null;}i_val+=2;}else{if(val.substring(i_val,i_val+token.length)!=token){return null;}else{i_val+=token.length;}}}if(i_val != val.length){return null;}if(month==2){if( ((year%4==0)&&(year%100 != 0) ) ||(year%400==0) ){if(date > 29){return null;}}else{if(date > 28){return null;}}}if((month==4)||(month==6)||(month==9)||(month==11)){if(date > 30){return null;}}if(hh<12 && ampm=="PM"){hh=hh-0+12;}else if(hh>11 && ampm=="AM"){hh-=12;}return new Date(year,month-1,date,hh,mm,ss);}
Date.isValid = function(val,format){return(Date.parseString(val,format) != null);}
Date.prototype.isBefore = function(date2){if(date2==null){return false;}return(this.getTime()<date2.getTime());}
Date.prototype.isAfter = function(date2){if(date2==null){return false;}return(this.getTime()>date2.getTime());}
Date.prototype.equals = function(date2){if(date2==null){return false;}return(this.getTime()==date2.getTime());}
Date.prototype.equalsIgnoreTime = function(date2){if(date2==null){return false;}var d1 = new Date(this.getTime()).clearTime();var d2 = new Date(date2.getTime()).clearTime();return(d1.getTime()==d2.getTime());}
Date.prototype.format = function(format){format=format+"";var result="";var i_format=0;var c="";var token="";var y=this.getYear()+"";var M=this.getMonth()+1;var d=this.getDate();var E=this.getDay();var H=this.getHours();var m=this.getMinutes();var s=this.getSeconds();var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;var value=new Object();if(y.length < 4){y=""+(+y+1900);}value["y"]=""+y;value["yyyy"]=y;value["yy"]=y.substring(2,4);value["M"]=M;value["MM"]=Date.LZ(M);value["MMM"]=Date.monthNames[M-1];value["NNN"]=Date.monthAbbreviations[M-1];value["d"]=d;value["dd"]=Date.LZ(d);value["E"]=Date.dayAbbreviations[E];value["EE"]=Date.dayNames[E];value["H"]=H;value["HH"]=Date.LZ(H);if(H==0){value["h"]=12;}else if(H>12){value["h"]=H-12;}else{value["h"]=H;}value["hh"]=Date.LZ(value["h"]);value["K"]=value["h"]-1;value["k"]=value["H"]+1;value["KK"]=Date.LZ(value["K"]);value["kk"]=Date.LZ(value["k"]);if(H > 11){value["a"]="PM";}else{value["a"]="AM";}value["m"]=m;value["mm"]=Date.LZ(m);value["s"]=s;value["ss"]=Date.LZ(s);while(i_format < format.length){c=format.charAt(i_format);token="";while((format.charAt(i_format)==c) &&(i_format < format.length)){token += format.charAt(i_format++);}if(value[token] != null){result=result + value[token];}else{result=result + token;}}return result;}
Date.prototype.getDayName = function(){return Date.dayNames[this.getDay()];}
Date.prototype.getDayAbbreviation = function(){return Date.dayAbbreviations[this.getDay()];}
Date.prototype.getMonthName = function(){return Date.monthNames[this.getMonth()];}
Date.prototype.getMonthAbbreviation = function(){return Date.monthAbbreviations[this.getMonth()];}
Date.prototype.clearTime = function(){this.setHours(0);this.setMinutes(0);this.setSeconds(0);this.setMilliseconds(0);
return this;}
Date.prototype.add = function(interval, number){if(typeof(interval)=="undefined" || interval==null || typeof(number)=="undefined" || number==null){
return this;}number = +number;if(interval=='y'){this.setFullYear(this.getFullYear()+number);}else if(interval=='M'){this.setMonth(this.getMonth()+number);}else if(interval=='d'){this.setDate(this.getDate()+number);}else if(interval=='w'){var step =(number>0)?1:-1;while(number!=0){this.add('d',step);while(this.getDay()==0 || this.getDay()==6){this.add('d',step);}number -= step;}}else if(interval=='h'){this.setHours(this.getHours() + number);}else if(interval=='m'){this.setMinutes(this.getMinutes() + number);}else if(interval=='s'){this.setSeconds(this.getSeconds() + number);}
return this;}


function ChangeCalenderMonth(o,r,ix){
	ChangeCalender(o,r,ix)
	//RefreshPopup()
}