﻿// JavaScript Document
function ajaxCalendarScroller(p_callendar_class){
	if (!p_callendar_class) p_callendar_class = 'Calendar'
	var ME = this
	var myCaltableTB = ME.parentNode.parentNode.parentNode
	var domDir = this.DomDir || "rtl"
	var myCaltableTBDY = myCaltableTB.getElementsByTagName("TBODY")[0]
	var nowDate = new Date()
	var currDate = new Date()
	var showDate =  new Date()
	var timerFlag = 0
	var timerPlay = false
	var ajaxHolder
	ME.monthsArr = ME.monthsArr.split(",")
	nowDate.setFullYear(ME.nowYear)
	nowDate.setMonth(ME.nowMonth)
	nowDate.setDate(ME.nowDay)
	
	currDate.setFullYear(ME.currentYear)
	currDate.setMonth(ME.currentMonth)
	currDate.setDate(ME.currentDay)
	
	showDate.setFullYear(ME.currentYear)
	showDate.setMonth(ME.currentMonth)
	showDate.setDate(ME.currentDay)
	var curr_dtSTR2 =  currDate.getFullYear() + '-'+  (currDate.getMonth()+1) + '-' +  currDate.getDate() 
	var prevButImage = "calendar_right.gif"
	var nextButImage = "calendar_left.gif"
	if(domDir.toLowerCase() == "ltr"){
		prevButImage = "calendar_left.gif"
		nextButImage = "calendar_right.gif"
	}
	//dhtm_admin.asp?p_language=2&p_obj=Calendar&p_action=draw&p_display=3982&dt=2005-10-5
	
	this.innerHTML = '<table width="100%" height="100%" border=0 cellpadding=0 cellspacing=0 unselectable=on><tr>\
								<td width=14 unselectable=on>&nbsp;</td>\
								<td class=dateTitleBox unselectable=on>&nbsp;</td>\
								<td width=14 unselectable=on>&nbsp;</td>\
						</tr></table>\
						<div id="loadingScreen" style="position:absolute;width:250px; height:250px; top:0px;left:0px; display:none;" unselectable=on >\
							<div style="position:absolute;width:100%; height:100%; top:0px;left:0px;background-color:white;filter:alpha(opacity=70);opacity:0.7;"></div>\
							<div style="position:absolute;width:40px;height:100px;top:7px;left:0px;font-size:18px; color:Red; "><img src="/admin/images/loading.gif" align="absmiddle"> </div>\
						</div> '
	var TDS = this.getElementsByTagName("TD")
	var prevBut, nextBut, dateTitleBox
	var prevBut = TDS[0]
	var dateTitleBox = TDS[1]
	var nextBut = TDS[2]
	var loaderScreen = ME.getElementsByTagName("DIV").loadingScreen
	
	dateTitleBox.innerHTML = ME.monthsArr[showDate.getMonth()] +' '+ showDate.getFullYear() 
	function clickPrev(){
		showDate.setMonth( showDate.getMonth()-1)	
		dateTitleBox.innerHTML = ME.monthsArr[showDate.getMonth()] +' '+ showDate.getFullYear() 
		if(!timerPlay) setTimer()
		timerFlag = 0
		setClicks()
	}
	function clickNext(){
		showDate.setMonth( showDate.getMonth()+1)	
		dateTitleBox.innerHTML = ME.monthsArr[showDate.getMonth()] +' '+ showDate.getFullYear() 
		if(!timerPlay) setTimer()
		timerFlag = 0
		setClicks()
	}
	
	function setClicks(){
		if (showDate.getMonth()  > nowDate.getMonth() || showDate.getFullYear()  > nowDate.getFullYear()  ){
			prevBut.onclick = clickPrev
			prevBut.style.backgroundImage = "url(/Images/"+ prevButImage+ ")"
			prevBut.style.cursor = "pointer"
		}else{
			prevBut.onclick = ""
			prevBut.style.backgroundImage = ""
			prevBut.style.cursor = "default"
		}
		
		if (showDate.getFullYear()  < nowDate.getFullYear()+2 ){
			nextBut.onclick = clickNext
			nextBut.style.backgroundImage = "url(/Images/"+ nextButImage+ ")"
			nextBut.style.cursor = "pointer"
		}else{
			nextBut.onclick = ""
			nextBut.style.backgroundImage = ""
			nextBut.style.cursor = "default"
		}
			
		
		
		
	}
	
	setClicks()
	function showLoadingScreen(p){
		if(p){
			loaderScreen.style.display = "Block"
			loaderScreen.style.height=  myCaltableTB.offsetHeight + "px"
		}else{
			loaderScreen.style.display = "None"
		}
		 
		
	}
	var s
	function setTimer(){
		timerFlag++
		clearTimeout(s)
		if (timerFlag<10){
			s= setTimeout(setTimer , 100)	
		}else{
			timerFlag = 0
			ajaxLoad()
		}
		
		
	}
	
	function ajaxLoad(){
		showLoadingScreen(1)
		dtSTR = showDate.getFullYear() +' -'+  (showDate.getMonth()+1)
		sm_idSTR = ""
		if (ME.sm_id) sm_idSTR = "&p_sm_id=" + ME.sm_id
		url = '/admin/dhtm_admin.asp?p_language=2&p_obj='+ p_callendar_class +'&p_action=draw&p_display=3982&dt='+ dtSTR +'&curr_dt='+ curr_dtSTR2+ sm_idSTR
		//prompt('',url)
		ajaxHolder = ajaxObj(url, '', 'GET')
		ajaxRedyStateListener()
		
		
	}
	function ajaxRedyStateListener(){
		if (ajaxHolder.readyState==4){
			drawNewCalendar()
			showLoadingScreen(0)
		}else{
			clearTimeout(s)
			s= setTimeout(ajaxRedyStateListener , 100)				
		}
	
	}
	
	function drawNewCalendar(){
		var tmp = document.createElement("DIV")
		tmp.innerHTML = ajaxHolder.responseText; 
		var tbObj= tmp.getElementsByTagName("TBODY")[0]
		deleteNode(myCaltableTBDY)
		myCaltableTBDY = tbObj
		myCaltableTB.appendChild(tbObj)
		
	}
								
}

