
/* Реализация методов  trim, lTrim, rTrim */
String.prototype.lTrim = function () {
var whitespace = new RegExp("^\\s+","gm");
return this.replace(whitespace, "");
}

String.prototype.rTrim = function () {
var whitespace = new RegExp("\\s+$","gm");
return this.replace(whitespace, "");
}

String.prototype.trim = function () {
return this.rTrim().lTrim();
}


/* Функционал распознования броузера клиента */

function IE()
{
	if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0) 
	{
		return true;
	}
	//return false;
	return true;
}

// Скрипты для DateControl
function parseDate(dateString)
{
	var dateParts = dateString.split(".");
	var year = parseInt(dateParts[2], 10);
	var month = parseInt(dateParts[1], 10)-1;
	var date = parseInt(dateParts[0], 10);
	
	return new Date(year, month, date);
}
function isValidDate(dateString)
{
	var dateRegex = /^\d{1,2}\.\d{1,2}\.\d{4}$/
	if(dateRegex.test(dateString)) 
	{					
		var dateParts = dateString.split(".");
		var year = parseInt(dateParts[2], 10);
		var month = parseInt(dateParts[1], 10)-1;
		var date = parseInt(dateParts[0], 10);
		
		var _date = parseDate(dateString);					
		
		return _date.getMonth() == month && _date.getDate() == date && _date.getFullYear() == year;
	} // if
	else 
		return false;
}

function CheckDateRange(dateFromId, dateToId, isChangeDateFrom)
{
    var dateFrom = document.getElementById(dateFromId);
    var dateTo = document.getElementById(dateToId);
    
    if(isValidDate(dateFrom.value) && isValidDate(dateTo.value))
    {
        if(parseDate(dateFrom.value) > parseDate(dateTo.value))
        {
            if(isChangeDateFrom)//Менять либо "дату с", либо "дату по", в зависимости от того, чего меняли
            {
                dateFrom.value = dateTo.value;
            }
            else
            {
                dateTo.value = dateFrom.value;
            }
        }
    }
}
function test(dateFromId, dateToId, isChangeDateFrom)
{
    alert(dateFromId);
}

// Для StringControl

function checkSpaces(textControl)
{
    textControl.value = textControl.value.replace(" ","");
}

//Проверялка даты в Tourist.ascx

function checkValidDayOfMonth(dayControlId, monthControlId, yearControlId)
{
    var dayControl = document.getElementById(dayControlId);
    var monthControl = document.getElementById(monthControlId);
    var yearControl = document.getElementById(yearControlId);
    
    var nYear = parseInt(yearControl.value, 10);
    var nMonth = parseInt(monthControl.value, 10);
    var nDay = parseInt(dayControl.value, 10);
    
    var nDaysInMonth;
    
    if(nMonth==2)
    {
        if(nYear%4==0 && nYear%400!=0)
        {
            nDaysInMonth = 29;
        }
        else
        {
            nDaysInMonth = 28;
        }
    }
    else
    {   
        if(nMonth<8)
        {
            nDaysInMonth = 30 + nMonth%2;
        }
        else
        {
            nDaysInMonth = 30 + (nMonth+1)%2;
        }
    }
    
    if(nDay > nDaysInMonth)
    {
        dayControl.value = nDaysInMonth;
    }
}
