// buttons events
function searchin_showhand(obj)
{
	obj.style.cursor = "hand";
}

function searchin_mouseoverCalendar(obj)
{
	obj.src = searchin_imgCalendarOn.src;
	searchin_showhand(obj);
}

function searchin_mouseoutCalendar(obj)
{
	var calendar = document.all.divCalendar;

	if (calendar.style.display == 'none')
	{
		obj.src = searchin_imgCalendarOff.src;
	}	
}

function searchin_displayCalendar(obj, strLang)
{
	var calendar = document.getElementById('divCalendar');
	
	if (calendar.style.display == "none")
	{
		calendar.style.display = "inline";
		
		if (strLang.toUpperCase() == 'EN')
		{
			calendar.style.left = screen.width/2 + 129;
		}
		else
		{
			calendar.style.left = screen.width/2 - 369;
		}
	}
	else 
	{
		calendar.style.display = "none";
	}
}

/*function searchin_displayAdvanced(obj)
{
	var advanced = document.all[obj.id.replace("img","td")];
	document.all[obj.id.replace("img","td")].style.display = (advanced.style.display=='none'?'inline':'none');
}*/

function searchin_mouseoverAdvanced(obj)
{
	obj.src = searchin_imgAdvancedOn.src;
	searchin_showhand(obj);
}

function searchin_mouseoutAdvanced(obj)
{
	var advanced = document.all[obj.id.replace("img","td")];

	if (advanced.style.display == 'none')
	{
		obj.src = searchin_imgAdvancedOff.src;
	}	
}

function searchin_displayAdvanced(obj)
{
	var advanced = document.getElementById(obj.id.replace("img","td"));
	document.getElementById(obj.id.replace("img","td")).style.display = (advanced.style.display=='none'?'':'none');
}

function searchin_mouseoverSearch(obj)
{
	obj.src = searchin_imgSearchOn.src;
	searchin_showhand(obj);
}

function searchin_mouseoutSearch(obj)
{
	obj.src = searchin_imgSearchOff.src;
}

function searchin_doSearch()
{
	// variables
	var arrFullUrl = new Array();
	var strPathName = "";
	var strUrlParams = "";
	var strNewUrlParams = "";
	var arrUrlParams = new Array();
	var arrParam = new Array();
	
	var params = new Object();
	params.FolderID = "";
	params.lang = "";
	params.PageNum = "";
	params.SearchText = "";
	params.FromDate = "";
	params.ToDate = "";
			
	var strPhrase = "";
	var bAdvanced = "";
	var nFromDay = "";
	var nFromMonth = "";
	var nFromYear = "";
	var nToDay = "";
	var nToMonth = "";
	var nToYear = "";

	// get full path
	arrFullUrl = location.href.split("?");		
	
	// get path name
	if (arrFullUrl.length == 0)
	{
		return;
	}
			
	strPathName = arrFullUrl[0];
	strPathName = strPathName.toLowerCase().replace("news.aspx", "News.SearchResults.aspx");
	strPathName = strPathName.toLowerCase().replace("news.in.aspx", "News.SearchResults.aspx");
	strPathName = strPathName.toLowerCase().replace("events.aspx", "Events.SearchResults.aspx");
	strPathName = strPathName.toLowerCase().replace("events.in.aspx", "Events.SearchResults.aspx");
		
	// get url params	
	if (arrFullUrl.length == 1)
	{
		return;
	}	
	
	strUrlParams = arrFullUrl[1];
	
	// make array of url params
	arrUrlParams = strUrlParams.split("&");
	for (var i=0 ; i<arrUrlParams.length ; i++)
	{
		arrParam = arrUrlParams[i].split("=");
		if (arrParam.length == 0)
		{
			continue;
		}
		
		if (arrParam.length == 1)
		{
			params[arrParam[0]] = "";
			continue;
		}
		
		if (arrParam[0] == "SearchText" || arrParam[0] == "FromDate" || arrParam[0] == "ToDate")
		{
			params[arrParam[0]] = "";
			continue;
		}
		
		params[arrParam[0]] = arrParam[1];
	}

	// get parameters from the form
	strPhrase = String(document.all.ucSearchBarIn_txtPhrase.value);
	// cleen multi spaces
	var re = /\s+/g
	strSearchText = strPhrase.replace(re,' ');
	// if only one chacacter
	if(strSearchText.length == 1  ){
	alert('The Search option is working with two characters and above')
	return ''	
	}
	
	// chack for illegal characters
	if (isIllegalChar(strSearchText)){
	alert('The Search contain a illegal characters')
	return ''
	}
	
	strPhrase = strSearchText
	
	if (strPhrase != "")
	{
		params.SearchText = strPhrase;
	}
	
	bAdvanced = (String(document.all.ucSearchBarIn_tdAdvanced.style.display)!="none");
	
	if (bAdvanced == true)
	{
		// from date
		nFromDay = String(document.all.ucSearchBarIn_selectFromDay.options[document.all.ucSearchBarIn_selectFromDay.selectedIndex].value);
		nFromMonth = String(document.all.ucSearchBarIn_selectFromMonth.options[document.all.ucSearchBarIn_selectFromMonth.selectedIndex].value);
		nFromYear = String(document.all.ucSearchBarIn_selectFromYear.options[document.all.ucSearchBarIn_selectFromYear.selectedIndex].value);
	
		params.FromDate = nFromDay + "/" + nFromMonth + "/" + nFromYear;
		
		// to date
		nToDay = String(document.all.ucSearchBarIn_selectToDay.options[document.all.ucSearchBarIn_selectToDay.selectedIndex].value);
		nToMonth = String(document.all.ucSearchBarIn_selectToMonth.options[document.all.ucSearchBarIn_selectToMonth.selectedIndex].value);
		nToYear = String(document.all.ucSearchBarIn_selectToYear.options[document.all.ucSearchBarIn_selectToYear.selectedIndex].value);
		
		params.ToDate = nToDay + "/" + nToMonth + "/" + nToYear;
	}
	
	for (var i in params)
	{
		if (params[i] != "")
		{
			strNewUrlParams += (strNewUrlParams==""?"?":"&") + i + "=" + params[i];
		}
	}

	location.href = strPathName + strNewUrlParams;
}

// date change
function searchin_year_change(objYear)
{
	var objDay = objYear.id.replace("Year","Day");
	var objMonth = objYear.id.replace("Year","Month");
	
	// if the month is february
	if (document.all[objMonth].value == 2)
	{
		// anomalistic year
		if (daysInFebruary(objYear.value) == 29)
		{
			if (document.all[objDay].length < 29)
			{
				document.all[objDay].options[document.all[objDay].length] = new Option(document.all[objDay].length+1,document.all[objDay].length+1);
			}
		}
		else
		{
			if (document.all[objDay].length > 28)
			{
				if (document.all[objDay].value > 28)
				{
					document.all[objDay].value = 28;
				}
				document.all[objDay].options[document.all[objDay].length-1] = null
			}
		}
	}
}

function searchin_month_change(objMonth)
{
	var objDay = objMonth.id.replace("Month","Day");
	var objYear = objMonth.id.replace("Month","Year");
	
	// february
	if (objMonth.value == 2)
	{
		// check for anomalistic year
		var nDays = searchin_daysInFebruary(document.all[objYear].value);
	
		// if the seletced day is 29 and it is going to be delete, select the day 28
		if (document.all[objDay].value > nDays)
		{
			document.all[objDay].value = nDays;
		}
		
		// delete unnecessary option (value 31, 30,  and in regular year day 29) from the days list
		while (document.all[objDay].length > nDays)
		{
			document.all[objDay].options[document.all[objDay].length-1] = null
		} 
	}
	// months with 31 days
	else if (objMonth.value == 1 || objMonth.value == 3 || objMonth.value == 5 || objMonth.value == 7 || objMonth.value == 8 || objMonth.value == 10 || objMonth.value == 12)
	{
		// add missing options in the days list
		while (document.all[objDay].length < 31)
		{
			document.all[objDay].options[document.all[objDay].length] = new Option(document.all[objDay].length+1,document.all[objDay].length+1);
		}
	}
	// months with 30 days
	else 
	{
		if (document.all[objDay].length > 30)
		{
			// if the seletced day is 31 and it is going to be delete, select the day 30
			if (document.all[objDay].value > 30)
			{
				document.all[objDay].value = 30;
			}
			
			// delete unnecessary option (value 31) from the days list
			document.all[objDay].options[document.all[objDay].length-1] = null
		}
		else
		{
			// add missing options in the days list
			while (document.all[objDay].length < 30)
			{
				document.all[objDay].options[document.all[objDay].length] = new Option(document.all[objDay].length+1,document.all[objDay].length+1);
			} 
		}
	}
}

function searchin_daysInFebruary (year)
{ 
	try
	{ 
		return ( ((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0) ) ) ? 29 : 28 ); 
	} 
	catch(e)
	{ 
		throw(e); 
	} 
} 

// calander function 

var searchin_pi				= ""
var searchin_groupDays		= [];
var searchin_groupBy		= new Array();
var searchin_selectGroups	= new Array();
var searchin_markDays		= new Array();

function searchin_createDays(allDays,thisPi)
{
	var arrDays		= new Array()	
	arrDays =  allDays.split(";")
    searchin_pi = thisPi.replace("aspx","In.aspx");
    tmp1 = ""   
    for(var i=0;i< arrDays.length;i++){
		searchin_groupDays[i] = new Array()
		tmp1 += arrDays[i] + "\n"
		tmp = arrDays[i].split(".")
		searchin_groupDays[i].day	=  tmp[0]
		searchin_groupDays[i].month	=  tmp[1]
		searchin_groupDays[i].year	=  tmp[2]
		searchin_groupDays[i].doc_id	= tmp[3] 
    }
    searchin_thisMonthDays(searchin_groupDays[0].month+"/"+searchin_groupDays[0].year)
}

function searchin_createSelect(monthYear)
{
	
	var tmpMonth	= searchin_groupDays[0].month
	var tmpYear		= searchin_groupDays[0].year
	var lclStr		= "<option value='"+ tmpMonth + "/" + tmpYear + "'>" + tmpMonth + "/" + tmpYear + "</option>"
	countGroups		= 0
	
	for(var i=1;i < searchin_groupDays.length;i++){
	
		if (tmpMonth != searchin_groupDays[i].month || tmpYear != searchin_groupDays[i].year)
		{	tmpMonth =	searchin_groupDays[i].month
			tmpYear	 =	searchin_groupDays[i].year
			
			searchin_selectGroups[countGroups++] = tmpMonth + "/" + tmpYear
			var selected	= ""
			if (!searchin_isnull(monthYear) && monthYear[1] == searchin_groupDays[i].year && monthYear[0] == searchin_groupDays[i].month)
				selected = " selected "
			lclStr	+= "<option " + selected + " value='"+ tmpMonth + "/" + tmpYear + "'>" + tmpMonth + "/" + tmpYear + "</option>"
		}
		
    }
    
    return (lclStr)
}

function searchin_thisMonthDays (monthYear){
	var tmpMarkDays		= new Array();
	var countDays = 0
	var monthYear = monthYear.split("/")
	var tmp1 = ""
	
	for(var i=0;i < searchin_groupDays.length ; i++){
	
		if (monthYear[0] == searchin_groupDays[i].month &&  monthYear[1] == searchin_groupDays[i].year)
			{tmpMarkDays[countDays++] = searchin_groupDays[i].day + "$" + searchin_groupDays[i].doc_id}
    }
    searchin_markDays = tmpMarkDays
}


function searchin_nextPrev(currentIndex){
	var element = document.all['selcetMY']
	currentIndex = element.selectedIndex + currentIndex;
	
	if(currentIndex == element.options.length)
		currentIndex--
	if(currentIndex == -1)
		currentIndex++
		
	searchin_rebuild(element.options[currentIndex].value)
}

function searchin_rebuild(monthYear){
	
	
	document.all('divCalendar').innerHTML = searchin_calendar(monthYear)
}


function searchin_montharray(m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11){
    this[0] = m0; this[1] = m1; this[2] = m2; this[3] = m3;
    this[4] = m4; this[5] = m5; this[6] = m6; this[7] = m7;
    this[8] = m8; this[9] = m9; this[10] = m10; this[11] = m11;
}

// Create the calender
function searchin_calendar(monthYear){
    
    var bEN = (cal_lang == "en")
    var align	= bEN ? "left"  : "right";
    var dir		= bEN ? "ltr"	: "rtl";
    var arrow = new Array();
     arrow[0]= bEN ? "Prev"		: "Next";
     arrow[1]= bEN ? "Next"		: "Prev";
    
    var strDate = ""
    if (searchin_isnull(monthYear))
		strDate	= (searchin_groupDays[0].month) + "/1/" + searchin_groupDays[0].year
	else
	{	
		searchin_thisMonthDays(monthYear)
		monthYear = monthYear.split("/")
		strDate	= (monthYear[0]) + "/1/" + monthYear[1]
	}
    var Days		= new Array ;
    var tmpstr = ""
    for (i=1 ; i<=31 ; Days[i++] = null );
    for (i=0 ; i < searchin_markDays.length ; i++ ){
		tmp		= searchin_markDays[i].split("$")
		tmpDay	= tmp[0]
		tmpstr += tmpDay + "; "
		tmpDoc	= tmp[1]
		Days[tmpDay * 1 ] = tmpDoc
    }
    
    
    var monthNames	= "January  February March    April    May      June     July     August   SeptemberOctober  November December "
    var monthDays	= new searchin_montharray(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    
		thisMonth	= new Date(strDate); 
    
    var year		= thisMonth.getYear();
    var _month		= thisMonth.getMonth()
    
    if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
        monthDays[1] = 29;

    nDays = monthDays[_month];
    firstDay = thisMonth;
    firstDay.setDate(1);
    startDay = firstDay.getDay();
    
    var returnCal = ""
     
    // Strat the table
    
    
    returnCal += ('<TABLE border="0" cellspacing="1" cellpadding="0" width="220" dir="'+dir+'" style="color:#000000; font-size:12;FONT-FAMILY: Arial;">');
    // Title
    returnCal += ('<tr><td colspan="7" style="padding: 3px 0px; height: 24px;">')
    // Dropdown list
    var dropStr	= '<SELECT id="selcetMY" onchange=searchin_rebuild(this.options[this.selectedIndex].value) id=select1 style="WIDTH: 100px; font-size:12px; background-color:#ffffff" name=select1> '
	dropStr		+=	searchin_createSelect(monthYear)
	dropStr		+='</SELECT>'
	
			returnCal += ('<TABLE border="0" cellspacing="0" cellpadding="0" dir="'+dir+'" style="width: 200px; margin: 0px auto; background-color: #fff; color:#000000; font-size:12px; FONT-FAMILY: Arial; border: 0px;">');
			returnCal += ('<TR align="center" style="color:#000000; font-size:12;FONT-FAMILY: Wingdings 3;"> \
				<TD onclick="searchin_nextPrev(-1)" style="width: 40px; font-size:10px;color:#11c8ef;CURSOR: hand;">'+arrow[0]+'</TD>')
			returnCal += ('<TD COLSPAN="5" style="width: 120px;">');
			returnCal += (dropStr);  //returnCal += (monthNames.substring(_month * 9, (_month + 1) * 9));
			returnCal += ('</td><TD onclick="searchin_nextPrev(1)" style="width: 40px; color:#11c8ef; font-size:10px;CURSOR: hand;">'+arrow[1]+'</TD>')
			returnCal += ('</table>')
    returnCal += ('</td></tr>')
    
    // Days Bar
    returnCal += ('<TR align="center" style="height: 20px; background-color: #908e8e; font:bold; color:#ffffff; font-size: 12px; ">');
	if (bEN)
		returnCal += ('<TD>Su</TD><TD>Mo</TD><TD>Tu</TD><TD>W</TD><TD>Th</TD><TD>Fr</TD><TD>Sa</TD>');
	else 	
		returnCal += ('<TD>à</TD><TD>á</TD><TD>â</TD><TD>ã</TD><TD>ä</TD><TD>å</TD><TD>ù</TD>');
    returnCal += ('</TR><TR>');
    column = 0;
    
    // Blank days (if the first day is not Sunday)
    for (i=0; i<startDay; i++){
        returnCal += ('<TD style="height: 20px; background-color: #f5f5f5;">&nbsp</td>');
        column++;
    }

    // Fill all month days
    var counter = 0;
    for (i=1; i<=nDays; i++){
        if (Days[i] != null)
		{
			var onclick	= "window.location='" + searchin_pi  + "&docID=" + Days[i] + "'"
			returnCal	+= ('<TD onclick="' + onclick + '" style="height: 20px; background-color: #739abf; color:#ffffff; CURSOR: hand; font-size: 12px;">');
		}	
        else returnCal += ('<TD style="height: 20px; background-color: #e6e6e6; font-size: 12px;" >');
        returnCal += ('<CENTER>');
        returnCal += (i);
        returnCal += ('</CENTER></td>');
        
        column++;
        if (column == 7){
            
            returnCal += ('</tr><TR>');
            column = 0;
        }
    }
    
    // Finish the last cells after the last day.
    for (i=column; i<7; i++)
		returnCal += ('<TD style="background-color: #f5f5f5; height: 20px;">&nbsp</td>');	
	
	// Line (under calendar)
	//str = '</tr><tr>\
	//			<td bgcolor="#5C95C9" colspan="7"> \
	//				<img  src="/site/en/images/nothing.gif" width="100%" height="7"><br>\
	//			</td>\
	//		</tr>'		
    //returnCal += (str);
    returnCal += ('</TABLE>');
    return (returnCal)
}


function searchin_isnull(arg) 
{
	arg = arg+'';
	return (arg == '' || arg == 'null' || arg == 'undefined');
}