window.onload = init;
var utYear=2011;
var utDay=20;
var utHour=23;
var utMinute=21;
var utSecond=0;
var jYear=utYear-621;
var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat');
var cities="<cities>";
cities += "<city><name>Iran</name><class>iran</class><diff>-210</diff></city>";
cities += "<city><name>California, Vancouver</name><class>west</class><diff>420</diff></city>";
cities += "<city><name>Denver, Edmonton</name><class>west</class><diff>360</diff></city>";
cities += "<city><name>Chicago</name><class>west</class><diff>300</diff></city>";
cities += "<city><name>New York, Toronto</name><class>west</class><diff>240</diff></city>";
cities += "<city><name>London</name><class>europe</class><diff>0</diff></city>";
cities += "<city><name>Western Europe</name><class>europe</class><diff>-60</diff></city>";
cities += "<city><name>Eastern Europe</name><class>europe</class><diff>-120</diff></city>";
cities += "<city><name>Moscow</name><class>europe</class><diff>-180</diff></city>";
cities += "<city><name>UAE</name><class>east</class><diff>-240</diff></city>";
cities += "<city><name>India</name><class>east</class><diff>-330</diff></city>";
cities += "<city><name>Hong Kong</name><class>east</class><diff>-480</diff></city>";
cities += "<city><name>Tokyo</name><class>east</class><diff>-540</diff></city>";
cities += "<city><name>Sydney</name><class>east</class><diff>-660</diff></city>";
cities += "</cities>";


document.write ("<title>" + jYear + " Iranian New Year Time</title>");
function getEle(id)
{
 return document.getElementById(id);
}

function getNewYearTime(diff)
{
 theMin = utMinute - diff;
 theHr = utHour;
 theDay = utDay;
 while (theMin < 0)
 {
 	theMin += 60;
	theHr--;
 }
 while (theMin > 59)
 {
 	theMin -= 60;
	theHr++;
 }
 if (theHr > 24)
 {
   theDay++;
	 theHr -= 24;
 }
 else if (theHr < 24)
 {
   theDay--;
	 theHr += 24;
 }
 //var myDate
// return formatDate(new Date(utYear, 2, theDay, theHr, theMin, utSecond), "EE MMM d, y hh:mm:ss a");
 return formatDate(new Date(utYear, 2, theDay, theHr, theMin, utSecond), "EE MMM d, y hh:mm a");
}

function LZ(x){return(x<0||x>9?"":"0")+x}

function formatDate(date,format)
{
  format=format+"";
	var result="";
	var i_format=0;var c="";var token="";var y=date.getYear()+"";var M=date.getMonth()+1;var d=date.getDate();var E=date.getDay();var H=date.getHours();var m=date.getMinutes();var s=date.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-0+1900);}value["y"]=""+y;value["yyyy"]=y;value["yy"]=y.substring(2,4);value["M"]=M;value["MM"]=LZ(M);value["MMM"]=MONTH_NAMES[M-1];value["NNN"]=MONTH_NAMES[M+11];value["d"]=d;value["dd"]=LZ(d);value["E"]=DAY_NAMES[E+7];value["EE"]=DAY_NAMES[E];value["H"]=H;value["HH"]=LZ(H);if(H==0){value["h"]=12;}else if(H>12){value["h"]=H-12;}else{value["h"]=H;}value["hh"]=LZ(value["h"]);if(H>11){value["K"]=H-12;}else{value["K"]=H;}value["k"]=H+1;value["KK"]=LZ(value["K"]);value["kk"]=LZ(value["k"]);if(H > 11){value["a"]="PM";}else{value["a"]="AM";}value["m"]=m;value["mm"]=LZ(m);value["s"]=s;value["ss"]=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;}

function displayTime(id, diff)
{
 getEle(id).innerHTML=getNewYearTime(diff);
}
function getXMLText(parent, child)
{
 return parent.getElementsByTagName(child).item(0).firstChild.nodeValue;
}
function init()
{
 getEle("YEAR").innerHTML = jYear;
 var myDate = new Date(utYear, 2, utDay);
// displayTime("iTime", -210);
 displayTime("lTime", myDate.getTimezoneOffset());
	if (window.ActiveXObject)
	  {
	  var doc=new ActiveXObject("Microsoft.XMLDOM");
	  doc.async="false";
	  doc.loadXML(cities);
	  }
	// code for Mozilla, Firefox, Opera, etc.
	else
	  {
	  var parser=new DOMParser();
	  var doc=parser.parseFromString(cities,"text/xml");
	  }

	xmlDoc=doc.documentElement;
	cityNodes = xmlDoc.getElementsByTagName("city");
	theTable = document.getElementById("cityTable");
	for (i=0; i < cityNodes.length; i++)
	{
	 className = getXMLText(cityNodes[i], 'class');
	 cityName = getXMLText(cityNodes[i], 'name');
	 timeDiff = parseInt(getXMLText(cityNodes[i], 'diff'));
	 row = theTable.insertRow(-1);
	 row.className = "allArea " + className;
	 cell = row.insertCell(-1);
	 cell.innerHTML=cityName;
	 cell = row.insertCell(-1);
	 cell.innerHTML=getNewYearTime(timeDiff);
	}
}