﻿// JScript File
var RSSRequestObjectWeather = false; // XMLHttpRequest Object
var BackendWeather = 'http://ict.nioc.ir/xmlGen.aspx?id=weather'; // BackendWeather url
//window.setInterval("update_timer()", 1200000); // update the data every 20 mins
window.setInterval("update_timer()", 3600000); // update the data every 3 mins


if (window.XMLHttpRequest) // try to create XMLHttpRequest
	RSSRequestObjectWeather = new XMLHttpRequest();

if (window.ActiveXObject)	// if ActiveXObject use the Microsoft.XMLHTTP
	RSSRequestObjectWeather = new ActiveXObject("Microsoft.XMLHTTP");

/*
* onreadystatechange function
*/
function ReqChangeWeather() {

	// If data received correctly
	if (RSSRequestObjectWeather.readyState==4) {
	
		// if data is valid
		if (RSSRequestObjectWeather.responseText.indexOf('invalid') == -1) 
		{ 	
			try 
			{ 
			    // Parsing RSS
			    var node = RSSRequestObjectWeather.responseXML.documentElement; 
    			
			    // Get information
			    var item = node.getElementsByTagName('yweather:condition').item(0);
		        var AirStateCode = item.getAttribute('code');
			    var tmp = item.getAttribute('temp');
			} 
			catch (e) 
			{ 
				var AirStateCode = '';
			    var tmp = '';
			}
				
			// Display the result
		    document.getElementById("WBg").innerHTML = '<div style="height:81px;width:111px;FILTER: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=http://ict.nioc.ir/images/weather/' + AirStateCode + '.png);" />';
            document.getElementById("WDeg").innerHTML = farsi_digit(String(tmp) + "°") ;
			// Tell the reader the everything is done
			//document.getElementById("statusWeather").innerHTML = "انجام شد.";
			
		}
		else {
			// Tell the reader that there was error requesting data
			document.getElementById("statusWeather").innerHTML = "<div class=error>خطا در دريافت وضعيت آب و هوا!</div>";
		}
		
		HideShowWeather('statusWeather');
	}
	
}

/*
* Main AJAX RSS reader request
*/
function RSSRequestWeather() {

	// change the status to requesting data
	HideShowWeather('statusWeather');
	document.getElementById("statusWeather").innerHTML = "درحال دريافت وضعيت آب و هوا... <img src='http://ict.nioc.ir/images/load.gif' />";
	
	// Prepare the request
	RSSRequestObjectWeather.open("GET", BackendWeather , true);
	// Set the onreadystatechange function
	RSSRequestObjectWeather.onreadystatechange = ReqChangeWeather;
	// Send
	RSSRequestObjectWeather.send(null); 
	return;
}

/*
* Timer
*/
function update_timer() {
	RSSRequestWeather();
}

function HideShowWeather(id){
	var el = GetObject(id);
	if(el.style.display=="none")
	el.style.display='';
	else
	el.style.display='none';
}

function GetObject(id){
	var el = document.getElementById(id);
	return(el);
}

