var longitude=0;
var latitude =0;
var city=0;
function getDataDate(date) 
{
	
	if(date == '')	
	{
		date = new Date();
		_date = Prado.WebUI.TDatePicker.prototype.gregorian_to_jalali(date);	
		__date = _date.split("-");
		return __date[0]+"-"+(parseInt(__date[1])+1)+"-"+__date[2];
	}
	else
	{
		if(cul == 'fa') {return date;}
		else if(cul == 'en') 
		{
			_date = date.split("-");
			if(_date[2].length == 4)
				date = new Date(parseInt(_date[2]), parseInt(_date[1]), parseInt(_date[0]));
			else 
				date = new Date(parseInt(_date[0]), parseInt(_date[1]), parseInt(_date[2]));
			_date = Prado.WebUI.TDatePicker.prototype.gregorian_to_jalali(date);	
			return _date;
		}
		else if(cul == 'ar') 
		{
			_date = Prado.WebUI.TDatePicker.prototype.Hijri_to_gregorian(date);	
			date = new Date(_date[0], _date[1], _date[2]);
			_date = Prado.WebUI.TDatePicker.prototype.gregorian_to_jalali(date);	
			return _date;
		}
	}
}
function main(date)
{
	var i = $(city).selectedIndex;
	if(i==0) return;
	date = getDataDate(date);
	var m = parseInt(date.split("-")[1]);
	var d=parseInt(date.split("-")[2]);
	var lg=longitude;
	var lat=latitude;
//	var lg=52.5125;
//	var lat=29.635;
	var ep=sun(m,d,4,lg)
	var zr=ep[0];
	delta=ep[1];
	ha=loc2hor(108.0,delta,lat)
	var t1=Round(zr-ha,24)
	ep=sun(m,d,t1,lg)
	zr=ep[0];
	delta=ep[1];
	ha=loc2hor(108.0,delta,lat)
	var t1=Round(zr-ha,24)
	$("t1"+city).innerHTML=hms(t1);
//
//   t2= Sun rise
//
	ep=sun(m,d,6,lg)
	zr=ep[0];
	delta=ep[1];
	ha=loc2hor(90.833,delta,lat)
	var t2=Round(zr-ha,24)
	ep=sun(m,d,t2,lg)
	zr=ep[0];
	delta=ep[1];
	ha=loc2hor(90.833,delta,lat)
	t2=Round(zr-ha,24)
	$("t2"+city).innerHTML=hms(t2);
//	
//	zr=Zohr
//
	ep=sun(m,d,12,lg)
	ep=sun(m,d,ep[0],lg)
	zr=ep[0];
	$("zr"+city).innerHTML=hms(zr);
//
//   t2= Sun set
//
	ep=sun(m,d,18,lg)
	zr=ep[0];
	delta=ep[1];
	ha=loc2hor(90.833,delta,lat)
	var t3=Round(zr+ha,24)
	ep=sun(m,d,t3,lg)
	zr=ep[0];
	delta=ep[1];
	ha=loc2hor(90.833,delta,lat)
	t3=Round(zr+ha,24)
	$("t3"+city).innerHTML=hms(t3);
//
//   t2= Maghreb
//
	ep=sun(m,d,18.5,lg)
	zr=ep[0];
	delta=ep[1];
	ha=loc2hor(94.3,delta,lat)
	var t4=Round(zr+ha,24)
	ep=sun(m,d,t4,lg)
	zr=ep[0];
	delta=ep[1];
	ha=loc2hor(94.3,delta,lat)
	t4=Round(zr+ha,24)
	$("t4"+city).innerHTML=hms(t4);
	
};
function sun(m,d,h,lg)
{
	if(m < 7 ) d= 31*(m-1)+d+h/24;
	else d=6+30*(m-1)+d+h/24;
	var M=74.2023+0.98560026*d;
	var L=-2.75043+0.98564735*d;
	var lst=8.3162159+0.065709824*Math.floor(d)+1.00273791*24*(d%1)+lg/15;	
	var e=0.0167065;
	var omega=4.85131-0.052954*d;
	var ep=23.4384717+0.00256*cosd(omega);
	var ed=180.0/Math.PI*e;
	var u=M;
	for(var i=1; i < 5 ; i++) u=u-(u-ed*sind(u)-M)/(1-e*cosd(u));
	var v=2*atand(tand(u/2)*Math.sqrt((1+e)/(1-e)));
	var theta=L+v-M-0.00569-0.00479*sind(omega);
	var delta=asind(sind(ep)*sind(theta));
	var alpha=180.0/Math.PI*Math.atan2(cosd(ep)*sind(theta),cosd(theta));
	if(alpha>=360) alpha-=360;
	var ha=lst-alpha/15;
	var zr=Round(h-ha,24);
	return ([zr,delta])
};

function coord(city_)
{
	var lgs= [0,49.70,48.30,45.07,51.64,48.68,46.42,57.33,56.29,50.84,59.21,46.28,51.41,48.34,49.59,60.86,48.50,53.06,53.39,47.00,50.86,52.52,50.00,50.88,57.06,47.09,54.44,59.58,48.52,51.59,54.35];
	var lats=[0,34.09,38.25,37.55,32.68,31.32,33.64,37.47,27.19,28.97,32.86,38.08,35.70,33.46,37.28,29.50,36.68,36.57,35.58,35.31,32.33,29.62,36.28,34.64,30.29,34.34,36.84,36.31,34.80,30.67,31.89];
	city = city_;
	var i = $(city).selectedIndex;
	if(i==0)
	{
		longitude=0;
		latitude =0;
	}
	else
	{
		longitude = lgs[i].toString();
		latitude = lats[i].toString();
	}
};
function sind(x){return(Math.sin(Math.PI/180.0*x));};
function cosd(x){return(Math.cos(Math.PI/180.0*x));};
function tand(x){return(Math.tan(Math.PI/180.0*x));};
function atand(x){return(Math.atan(x)*180.0/Math.PI);};
function asind(x){return(Math.asin(x)*180.0/Math.PI);};
function acosd(x){return(Math.acos(x)*180.0/Math.PI);};
function sqrt(x){return(Math.sqrt(x));};
function frac(x){return(x%1);};
function floor(x){return(Math.floor(x));};
function ceil(x){return(Math.ceil(x));};
function loc2hor(z,d,p){
	return(acosd((cosd(z)-sind(d)*sind(p))/cosd(d)/cosd(p))/15);
};
function Round(x,a){
	var tmp=x%a;
	if(tmp < 0 )
		tmp+=a;
	return(tmp)
};
function hms(x)
{
	x=Math.floor(3600*x);
	h=Math.floor(x/3600);
	mp=x-3600*h;
	m=Math.floor(mp/60);
	s=Math.floor(mp-60*m);
	return(((h < 10 )? "0" : "") + h.toString() + ":" + ((m < 10 ) ? "0" : "") + m.toString()+":"+(( s <10 ) ? "0" : "") + s.toString() )
};
function submitProvince(id, city)
{
	
	$(city).selectedIndex = id;
	coord(city);
	main($('hiddendate'+city).value);
	return false;
};
if($(city))
{
	coord();
	main('', '');
}
