//window.onload=init;
var xmlDoc;
var gMonth;
var gYear;
var gMonths = new Array("Jan", "Feb", "Mar", "Apr",
                    "May", "Jun", "Jul", "Aug", "Sep",
                    "Oct", "Nov", "Dec");
var jMonths = new Array("Farvardin", "Ordibehesht", "Khordad",
                            "Tir", "Mordad", "Shahrivar",
                            "Mehr", "Aban", "Azar",
                            "Dey", "Bahman", "Esfand");

var jMonthsP = new Array("فروردین","اردیبهشت","خرداد","تیر",
						 "مرداد","شهریور","مهر","آبان",
						 "آذر","دی","بهمن","اسفند");
var gMonthsP = new Array("ژانویه","فوریه","مارس","آوریل",
						 "مه","ژوئن","ژوییه","اوت",
						 "سپتامبر","اکتبر","نوامبر","دسامبر");
var pDigits = new Array("\u06F0", "\u06F1", "\u06F2", "\u06F3",
									"\u06F4", "\u06F5", "\u06F6", "\u06F7", "\u06F8", "\u06F9");

function setPersianNumber(num)
{
  var ret, digit, tmp;
	ret = "";
	if (lang != 1) return num;
	if (num == 0) return "\u06f0";
	while (num != 0)
	{
		tmp = Math.floor(num/10);
		digit = num - tmp * 10;
		ret = this.pDigits[digit] + ret;
		num = tmp;
	}
	return ret;
}


function init()
{
	var table = document.getElementById("mainTable");
	var CNo = 0;
/*
	for (var i=0; i<6; i++)
	{
		var row = table.insertRow(-1);
		row.setAttribute("id", "r" + i);
		for (var j=0; j<7; j++)
		{
			var cell = row.insertCell(-1);
			cell.setAttribute("id", "c" + CNo);
			cell.innerHTML='<div id="p' + CNo + '" class="pdates"></div>'
			+ '<div id="e' + CNo + '" class="edates"></div>';
			
			CNo++;
		}
	}
*/
	iranTime();
	var TD = new Date();
	var D1 = new Date(zy, zm, zd);
	timeDiff = TD.getTime() - D1.getTime();
	if (timeDiff > 0 && timeDiff < zl * 864e5)
	{
		fillCalendar(zx);
	}
	else
	{
		goToday();
	}
  }
function sendDate()
{
	var monthElem = document.getElementById("month");
	var month = monthElem.options[monthElem.selectedIndex].value;
	var year = document.getElementById("year").value;
	var day = document.getElementById("day").value;
	if (day > 0 && day < 32 && year > 0)
	{
		var url="calendar.php";
		var strParams="d="+day+"&m="+month+"&y="+year;
		var loader1 = new XMLLoader.Loader(url, getCalendar, null, "POST", strParams);
	}
}
function iranTime()
{
	var pm = 0;
	var now = new Date();
	var hr = now.getUTCHours();
	var mn = now.getUTCMinutes();
	mn += 30;
	if (mn > 59)
	{
		mn -= 60;
		hr++;
	}
	hr+=3;
	if (zjm < 6) hr = hr + 1;
	if (hr>23) hr-=24;
	if (hr > 12)
	{
		hr -= 12;
		pm = 1;
	}
	else if (hr == 12)
	{
		pm = 1;
	}
	else if (hr == 0)
	{
		hr = 12;
	}
	var timeString = setPersianNumber(hr) + ":";
	if (mn < 10) timeString += setPersianNumber(0);
	timeString += setPersianNumber(mn) + " ";
	if (lang ==1)
	{
		if (pm == 1)
		{
			document.getElementById("clockSub").innerHTML = "بعد از ظهر";
		}
		else
		{
			document.getElementById("clockSub").innerHTML = "صبح";
		}
	}
	else
	{
		if (pm == 1)
		{
			timeString += "PM";
		}
		else
		{
			timeString += "AM";
		}
	}
	document.getElementById("clock").innerHTML = timeString;
	var sec = 60 - now.getUTCSeconds();
	setTimeout(iranTime, sec * 1000);
}
function setCalendar(operation)
{
	var url="calendar.php";
	var strParams="c="+operation+"&m="+gMonth+"&y="+gYear;
	var loader1 = new XMLLoader.Loader(url, getCalendar, null, "POST", strParams);
}
function goToday()
{
	var today = new Date();
	var url="calendar.php";
	var thisMonth = today.getMonth();
	thisMonth += 100;
	var strParams="d="+today.getDate()+"&m="+thisMonth+"&y="+today.getFullYear();
	var loader1 = new XMLLoader.Loader(url, getCalendar, null, "POST", strParams);
}
function getValue(key)
{
	return xmlDoc.getElementsByTagName(key).item(0).firstChild.nodeValue;
}
function setNoHoliday(index, pVal, eVal)
{
	pElem = document.getElementById("p"+index);
	cElem = document.getElementById("c"+index);
	pElem.innerHTML = pVal;
	pElem.className = "pdates";
	cElem.setAttribute ("title", "");
	cElem.className = "";
	document.getElementById("e"+index).innerHTML = eVal;

}
function getCalendar()
{
	fillCalendar(this.req.responseText);
}
 
function fillCalendar(xmlText)
{
// over stock
//	var adInMiddleOfCalendar = "<a href=\"http://www.tkqlhce.com/click-2629195-10676978\" target=\"_blank\" onmouseover=\"window.status='http://www.overstock.com/';return true;\" onmouseout=\"window.status=' ';return true;\"><img src=\"smallO.png\" width=\"33\" height=\"33\" alt=\"OverStock\"/><img src=\"http://www.ftjcfx.com/image-2629195-10676978\" width=\"1\" height=\"1\" alt=\"\" border=\"0\"/></a>";
//  woot
	var adInMiddleOfCalendar = "<a href=\"http://www.dpbolvw.net/nc117shqnhp47B7E6EA465DCD7B9\" target=\"_blank\" onmouseover=\"window.status='http://moofi.woot.com/';return true;\" onmouseout=\"window.status=' ';return true;\"><img src=\"images/w-for-woot.png\" width=\"33\" height=\"33\" alt=\"OverStock\"/><img src=\"http://www.awltovhc.com/fa100m-3sywHKOKRJRNHJIQPQKOM\" width=\"1\" height=\"1\" alt=\"\" border=\"0\"/></a>";

	var today = new Date();
	var todayDay = today.getDate();
	var todayMonth = today.getMonth();
	var todayYear = today.getFullYear();
	var todayCell = -1;
	try
	{
	if (window.ActiveXObject)
	  {
	  var doc=new ActiveXObject("Microsoft.XMLDOM");
	  doc.async="false";
	  doc.loadXML(xmlText);
	  }
	// code for Mozilla, Firefox, Opera, etc.
	else
	  {
	  var parser=new DOMParser();
	  var doc=parser.parseFromString(xmlText,"text/xml");
	  }

	xmlDoc=doc.documentElement;
//	xmlDoc = this.req.responseXML.documentElement;
	jMonth = getValue('jm');
	jYear = getValue('jy');
	gMonth = getValue('gm');
	gYear = getValue('gy');
	gDay = getValue('gd');


	document.getElementById("month").value =-1;
	document.getElementById("year").value = "";
	document.getElementById("day").value = "";

	
	gMonthLength = getValue('gl');
	jMonthLength = getValue('jl');
	weekDay = getValue('wd');
	if (lang == 1)
	{
		weekDay++;
		if (weekDay == 7) weekDay = 0;
	}
	var i;
	var JD;
	var GD = gDay;
	var adIndex = -1;
	for (i=0; i < weekDay; i++)
	{
		setNoHoliday(i, "&nbsp;", "&nbsp;");
		adIndex = i;
	}
	i = weekDay;
	for (JD = 1; JD <= jMonthLength; JD++)
	{
		setNoHoliday(i, setPersianNumber(JD), setPersianNumber(GD));
		if (gYear == todayYear && gMonth == todayMonth && GD == todayDay)
		{
			document.getElementById('c'+i).className = "today";
			todayCell = i;
		}
		GD++;
		if (GD > gMonthLength)
		{
			GD = 1;
			todayMonth--;
			if (todayMonth < 0)
			{
				todayMonth = 11;
				todayYear--;
			}
		}
		i++;
	}
	var sixWeeks = 0;
	if (i > 35) sixWeeks = 1;
	while (i < 35)
	{
		setNoHoliday(i, "&nbsp;", "&nbsp;");
		if (adIndex == -1) adIndex = i;
		i++;
	}
	if (sixWeeks == 1)
	{
		document.getElementById("r5").style.display="";
		while (i < 42)
		{
		setNoHoliday(i, "&nbsp;", "&nbsp;");
		if (adIndex == -1) adIndex = i;
			i++;
		}
	}
	else
	{
		document.getElementById("r5").style.display="none";
	}
	if (adIndex != -1) document.getElementById('p'+adIndex).innerHTML = adInMiddleOfCalendar;
	var hs = xmlDoc.getElementsByTagName("h");

	for (i=0; i < hs.length; i++)
	{
		var hd = parseInt(hs[i].getElementsByTagName('d').item(0).firstChild.nodeValue);
		var hr = hs[i].getElementsByTagName('r').item(0).firstChild.nodeValue;
		hd += parseInt(weekDay);
		hd--;
		var he = document.getElementById('c'+hd);
		document.getElementById('p'+hd).className = "holiday";
		he.title=hr;
		if (hd == todayCell) he.className="holidayCell today";
		else he.className="holidayCell";
	}
	if (lang==1)
	{
		document.getElementById("pmonth").innerHTML = jMonthsP[jMonth] + " " + setPersianNumber(jYear);
	}
	else
	{
		document.getElementById("pmonth").innerHTML = jMonths[jMonth] + " " + jYear;
	}
	if (gMonth == 11)
	{
		var nextYear = gYear;
		nextYear++;
		if (lang==1)
		{
			document.getElementById("emonth").innerHTML = gMonthsP[11] + " " + setPersianNumber(gYear) + 
			  "/" + gMonthsP[0] + " " + setPersianNumber(nextYear);
		}
		else
		{
			document.getElementById("emonth").innerHTML = gMonths[11] + " " + gYear + 
			  "/" + gMonths[0] + " " + nextYear;
		}
	}
	else
	{
		var nextMonth = gMonth;
		nextMonth++;
		if (lang==1)
		{
			document.getElementById("emonth").innerHTML = gMonthsP[gMonth] + "/" + gMonthsP[nextMonth] +
				" " + setPersianNumber(gYear);
		}
		else
		{
			document.getElementById("emonth").innerHTML = gMonths[gMonth] + "/" + gMonths[nextMonth] +
				" " + gYear;
		}
	}


	}
	catch(e)
	{
		alert(e);
	}
}

