﻿// JScript File

// private variables
var selIndex;      
var stroot;
var XmlHttp;
var url;
 
// To display pop up for alerts
function AlertVisible(blnVal)
{ 
    if (blnVal == 1) 
        divalert.style.display="block";
    else 
        divalert.style.display="none";
}
//To showing And hiding the Tooltip on mouseover and MouseOut for all browser
function display(id) 
{
    if (document.getElementById) 
      {
        document.getElementById(id).style.display = "block";
       }
    else if (document.layers) 
    {
        document.layers[id].visibility = "show";
    }
    else if (document.all) 
    {
        document.all[id].style.visibility = "visible";
    }    
    return true;
}

function hide(id)
     {
    if (document.getElementById) 
    {
        document.getElementById(id).style.display = "none";
    }
    else if (document.layers) 
    {
        document.layers[id].visibility = "hide";
    }
    else if (document.all) {
        document.all[id].style.visibility = "hidden";
    }    
    return true;
}
 /*Common function for all XMlHttpREquest*/
 function createXMLHttp()
{   
    if (window.XMLHttpRequest)
    {             
        XmlHttp = new XMLHttpRequest();
        
        if (XmlHttp.overrideMimeType)
         {
           XmlHttp.overrideMimeType('text/xml');
         }
    }
    else if (window.ActiveXObject)
    {
       try {
            XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
}
// public variables for weather (Zone wise and onchange of cities)
var Zonecity; 
var ddlzoneCityId;
var zonemaxTempId;
var zoneminTempId;
var zoneforecastId;
var zoneforecast;
var zonewcdate;

// Method to Set background image for Weather MYCity Control
function getCityDetails()
{
    ddlzoneCityId = document.getElementById(arguments[0]);
    city = ddlzoneCityId.options[ddlzoneCityId.selectedIndex].text;
    zonemaxTempId = document.getElementById(arguments[1]);
    zoneminTempId = document.getElementById(arguments[2]);
    zoneforecastId = document.getElementById(arguments[3]);
    zoneforecast = document.getElementById(arguments[4]);
    day = document.getElementById(arguments[5]).value;
    createXMLHttp();
    url = "Weather.ajax?Weather="+city+"&day="+day; 
    XmlHttp.onreadystatechange = function() { setCityDetails(XmlHttp); };
    XmlHttp.open('GET', url, true);
    XmlHttp.send(null);
    return false; 
}
function setCityDetails(XmlHttp)
{
    if(XmlHttp.readyState == 4)
    {
        if(XmlHttp.status == 200)
        {
            if (document.getElementById("ctl00_ContentPlaceHolder1_lblMess") != null)
            {
                document.getElementById("ctl00_ContentPlaceHolder1_lblMess").style.display="none";
            }
            if (document.getElementById("ctl00_ContentPlaceHolder1_lblSaveMess") != null)
            {
                document.getElementById("ctl00_ContentPlaceHolder1_lblSaveMess").style.display="none";
            }
            var xmldoc = XmlHttp.responseXML;  
            var nodes = xmldoc.getElementsByTagName("NewDataSet");               
            var firstchild = nodes[0].getElementsByTagName("Table");
            var nodelength = firstchild.length;                                  

            if(nodelength > 0)
            {
                 if (zonemaxTempId.firstChild == null)
                    zonemaxTempId.innerText = StringFormat(xmldoc.getElementsByTagName("MaxTemp")[0].childNodes[0].nodeValue)
                 else
                    zonemaxTempId.firstChild.data = StringFormat(xmldoc.getElementsByTagName("MaxTemp")[0].childNodes[0].nodeValue)
                 
                 if  (zoneminTempId.firstChild == null)               
                    zoneminTempId.innerText= StringFormat( xmldoc.getElementsByTagName("MinTemp")[0].childNodes[0].nodeValue);
                 else
                    zoneminTempId.firstChild.data= StringFormat( xmldoc.getElementsByTagName("MinTemp")[0].childNodes[0].nodeValue);             

                 if (zoneforecastId.firstChild == null)  
                    zoneforecastId.innerText = StringFormat(xmldoc.getElementsByTagName("SkyCondition")[0].childNodes[0].nodeValue);
                 else
                    zoneforecastId.firstChild.data = StringFormat(xmldoc.getElementsByTagName("SkyCondition")[0].childNodes[0].nodeValue);
                 zoneforecastId.style.background = "url('http://www.hindustantimes.com/Weather/"+ xmldoc.getElementsByTagName("ImageFileName")[0].childNodes[0].nodeValue+"' ) no-repeat right top";
           }
        }
    }        
}

// public variables for weather
var city; 
var ddlCityId;
var divId;
var maxTempId;
var minTempId;
var forecastId;
var forecast;
var wcdate;
var wtodaydate;
var wtomdate;
var wdayafterdate;
var day;
var hidDay;

// Method to Set background image for Weather MYCity Control
//iddlCityId,idivId,ilblDateId,imaxTempId,iminTempId,iforecastId,forcastfortodayid,dayflag
function getMyCityDetails()
{
    ddlCityId = document.getElementById(arguments[0]);
    city = ddlCityId.options[ddlCityId.selectedIndex].text;
    wcdate = arguments[2];
    divId = document.getElementById(arguments[1]);
    maxTempId = document.getElementById(arguments[3]);
    minTempId = document.getElementById(arguments[4]);
    forecastId = document.getElementById(arguments[5]);
    forecast = document.getElementById(arguments[6]);
    if (arguments[7] != "")
    {
        day = arguments[7];
        document.getElementById(arguments[8]).value = day;
    }
    else
        day = document.getElementById(arguments[8]).value;
    
    createXMLHttp();
    url = "Weather.ajax?Weather="+city+"&day="+day; 
    XmlHttp.onreadystatechange = function() { setMyCityDetails(XmlHttp); };
    XmlHttp.open('GET', url, true);
    XmlHttp.send(null);
    return false; 
}

function setMyCityDetails(XmlHttp)
{
    if(XmlHttp.readyState == 4)
    {
        if(XmlHttp.status == 200)
        {
            if (document.getElementById("ctl00_ContentPlaceHolder1_lblMess") != null)
            {
                document.getElementById("ctl00_ContentPlaceHolder1_lblMess").style.display="none";
            }
            if (document.getElementById("ctl00_ContentPlaceHolder1_lblSaveMess") != null)
            {
                document.getElementById("ctl00_ContentPlaceHolder1_lblSaveMess").style.display="none";
            }
            var xmldoc = XmlHttp.responseXML;  
            var nodes = xmldoc.getElementsByTagName("NewDataSet");               
            var firstchild = nodes[0].getElementsByTagName("Table");
            var nodelength = firstchild.length;                                  
            //alert(xmldoc.xml);
            if(nodelength > 0)
            {
                if (maxTempId.firstChild == null)
                    maxTempId.innerText = StringFormat(xmldoc.getElementsByTagName("MaxTemp")[0].childNodes[0].nodeValue)
                else
                    maxTempId.firstChild.data = StringFormat(xmldoc.getElementsByTagName("MaxTemp")[0].childNodes[0].nodeValue)                
                
                if  (minTempId.firstChild == null)
                    minTempId.innerText = StringFormat( xmldoc.getElementsByTagName("MinTemp")[0].childNodes[0].nodeValue);
                else
                    minTempId.firstChild.data= StringFormat( xmldoc.getElementsByTagName("MinTemp")[0].childNodes[0].nodeValue);                

                if (forecastId.firstChild == null)
                    forecastId.innerText = xmldoc.getElementsByTagName("SkyCondition")[0].childNodes[0].nodeValue;
                else
                    forecastId.firstChild.data = xmldoc.getElementsByTagName("SkyCondition")[0].childNodes[0].nodeValue;                
                
                var imgFile = "url('http://www.hindustantimes.com/Weather/"+ xmldoc.getElementsByTagName("ImageFileName")[0].childNodes[0].nodeValue+"' ) no-repeat right top";
                var divImgFile = "url('http://www.hindustantimes.com/Weather/"+ xmldoc.getElementsByTagName("ImageFileName")[0].childNodes[0].nodeValue.substr(0, xmldoc.getElementsByTagName("ImageFileName")[0].childNodes[0].nodeValue.indexOf(".")) +"top.gif' ) no-repeat right top";
                
                forecastId.style.background = imgFile
                if (divId != null) 
                    divId.style.background = divImgFile 

                wcdate = wcdate.substr(0,wcdate.lastIndexOf("_")+1) + "divMyCityDate";
                //wcdate = wcdate.substr(0,wcdate.length-1);    
                if (wcdate != null) 
                {
                    wtodaydate = document.getElementById(wcdate + "1");
                    wtomdate = document.getElementById(wcdate + "2");
                    wdayafterdate = document.getElementById(wcdate + "3");
                    
                    var tmpToday,tmpTom,tmpDayAfter;
                    if (wtodaydate != null) 
                    {
                        if (wtodaydate.innerHTML.indexOf(">") >= 0)
                            tmpToday = wtodaydate.innerHTML.substr(wtodaydate.innerHTML.indexOf(">")+1, wtodaydate.innerHTML.lastIndexOf("<") - wtodaydate.innerHTML.indexOf(">")-1);
                        else
                            tmpToday  = wtodaydate.innerHTML;
                    }
                    if (wtomdate != null) 
                    {
                        if (wtomdate.innerHTML.indexOf(">") >= 0)
                            tmpTom = wtomdate.innerHTML.substr(wtomdate.innerHTML.indexOf(">")+1, wtomdate.innerHTML.lastIndexOf("<") - wtomdate.innerHTML.indexOf(">")-1);
                        else
                            tmpTom = wtomdate.innerHTML;
                    }   
                    if (wdayafterdate != null) 
                    {
                        if (wdayafterdate.innerHTML.indexOf(">") >= 0)
                            tmpDayAfter = wdayafterdate.innerHTML.substr(wdayafterdate.innerHTML.indexOf(">")+1, wdayafterdate.innerHTML.lastIndexOf("<") - wdayafterdate.innerHTML.indexOf(">")-1);
                        else
                            tmpDayAfter = wdayafterdate.innerHTML;
                    }
                    if (day == 0)
                    {
                       forecast.innerHTML ="Forecast for Today";
                       wtodaydate.innerHTML = "Today: <span>" + tmpToday  +"</span>"
                       wtomdate.innerHTML = tmpTom;
                       wdayafterdate.innerHTML = tmpDayAfter;
                    }
                    else if (day == 1)
                    {
                       forecast.innerHTML ="Forecast for Tomorrow";
                       wtomdate.innerHTML = "Tomorrow: <span>" + tmpTom  +"</span>"
                       wdayafterdate.innerHTML = tmpDayAfter;
                       wtodaydate.innerHTML = tmpToday;
                    }
                    else if (day == 2)
                    {
                       forecast.innerHTML ="Forecast for Day After";
                       wdayafterdate.innerHTML = "Day After: <span>" + tmpDayAfter  +"</span>"
                       wtomdate.innerHTML = tmpTom;
                       wtodaydate.innerHTML = tmpToday;
                    }
                }
            }
        }
    }        
}
var lblMess,lblSaveMess;
function saveCity()
{
   var MyCityId = document.getElementById(arguments[0]).value;
   var MyCity = document.getElementById(arguments[0]).options[document.getElementById(arguments[0]).selectedIndex].text ;
   var NorthZone  = "";
   var SouthZone  = "";
   var EastZone  = "";
   var WestZone  = "";
   var InterZone  = "";
   
   for(var i=1;i<=4;i++)
   {
        NorthZone = NorthZone  + document.getElementById(getId(arguments[1],i)).value + "~";
        EastZone = EastZone  + document.getElementById(getId(arguments[2],i)).value + "~";
        WestZone = WestZone  + document.getElementById(getId(arguments[3],i)).value + "~";
        SouthZone = SouthZone + document.getElementById(getId(arguments[4],i)).value + "~";
        InterZone = InterZone  + document.getElementById(getId(arguments[5],i)).value + "~";
   }
   lblMess = arguments[7];   
   lblSaveMess = arguments[8];   
   //debugger;
    //if (arguments.length < 7)
    if (arguments[6] == "" )
    {
       var days = 30;
       var date = new Date();
       date.setTime(date.getTime()+(days*24*60*60*1000));
       var expires = "expires="+date.toGMTString() + "; ";

       document.cookie = "MyCityId="+MyCityId+"; " + expires + "path=/";
       document.cookie = "MyCity="+MyCity+"; " + expires + "path=/";
       document.cookie = "NorthZone="+NorthZone+"; " + expires + "path=/";
       document.cookie = "SouthZone="+SouthZone+"; " + expires + "path=/";
       document.cookie = "EastZone="+EastZone+"; " + expires + "path=/";
       document.cookie = "WestZone="+WestZone+"; " + expires + "path=/";
       document.cookie = "InternationalZone="+InterZone+"; " + expires + "path=/";
       if (document.getElementById(arguments[7]) != null)
       {
            document.getElementById(arguments[7]).style.display="block";
       }
       if (document.getElementById(arguments[8]) != null)
       {
            document.getElementById(arguments[8]).style.display="none";
       }
     }
     else
     {  
        createXMLHttp();
        //url = "Weather.ajax?MyCity="+MyCityId+"&NorthZone="+NorthZone+"&SouthZone="+SouthZone+"&EastZone="+EastZone+"&WestZone="+WestZone+"&InterZone="+InterZone  ; 
        url = "Weather.ajax?MyCity="+MyCityId+"&Zone="+NorthZone+"|"+EastZone+"|"+WestZone+"|"+SouthZone+"|"+InterZone+"|&UsrId="+arguments[6]; 
        XmlHttp.onreadystatechange = function() { setsaveCity(XmlHttp); };
        XmlHttp.open('GET', url, true);
        XmlHttp.send(null);
        return false; 
    }
}

function setsaveCity(XmlHttp)
{
    if(XmlHttp.readyState == 4)
    {
        if(XmlHttp.status == 200)
        {
            if (document.getElementById(lblMess) != null)
            {
                if (XmlHttp.responseText == "")
                {
                    document.getElementById(lblMess).style.display="block";
                    document.getElementById(lblSaveMess).style.display="none";
                }
                else 
                { 
                    document.getElementById(lblMess).style.display="block";
                    document.getElementById(lblSaveMess).style.display="none";
                }
            }
         }
    }
}

function getMyCityDetails1()
{
   //for(var i=1;i<=4;i++)
   //{
     //   getMyCityDetails(getId(arguments[0],i),arguments[1],arguments[2],getId(arguments[3],i),getId(arguments[4],i),getId(arguments[5],i),arguments[6],arguments[7],arguments[8])
   //}
    getMyCityDetails(getId(arguments[0],1),arguments[1],arguments[2],getId(arguments[3],1),getId(arguments[4],1),getId(arguments[5],1),arguments[6],arguments[7],arguments[8])
    setTimeout('getMyCityDetails(\'' + (getId(arguments[0],2)) + '\',\'' + (arguments[1]) + '\',\'' + (arguments[2]) + '\',\'' + (getId(arguments[3],2)) + '\',\'' + (getId(arguments[4],2)) + '\',\'' + (getId(arguments[5],2)) + '\',\'' + (arguments[6]) + '\',\'' + (arguments[7]) + '\',\'' + (arguments[8]) + '\')' ,200);
    setTimeout('getMyCityDetails(\'' + getId(arguments[0],3) + '\',\'' + arguments[1] + '\',\'' + arguments[2] + '\',\'' + getId(arguments[3],3) + '\',\'' + getId(arguments[4],3) + '\',\'' + getId(arguments[5],3) + '\',\'' + arguments[6] + '\',\'' + arguments[7] + '\',\'' + arguments[8] + '\')' ,400);
    setTimeout('getMyCityDetails(\'' + getId(arguments[0],4) + '\',\'' + arguments[1] + '\',\'' + arguments[2] + '\',\'' + getId(arguments[3],4) + '\',\'' + getId(arguments[4],4) + '\',\'' + getId(arguments[5],4) + '\',\'' + arguments[6] + '\',\'' + arguments[7] + '\',\'' + arguments[8] + '\')' ,600);

//    getMyCityDetails(getId(arguments[0],2),arguments[1],arguments[2],getId(arguments[3],2),getId(arguments[4],2),getId(arguments[5],2),arguments[6],arguments[7],arguments[8])
//    getMyCityDetails(getId(arguments[0],3),arguments[1],arguments[2],getId(arguments[3],3),getId(arguments[4],3),getId(arguments[5],3),arguments[6],arguments[7],arguments[8])
//    getMyCityDetails(getId(arguments[0],4),arguments[1],arguments[2],getId(arguments[3],4),getId(arguments[4],4),getId(arguments[5],4),arguments[6],arguments[7],arguments[8])
}

function getId(strVal,strNum)
{
    if (strVal.length <= 0) 
        return "";
    else
    {
        strVal = strVal.substr(0,strVal.length-1);
        return (strVal + strNum);
    }
}



function StringFormat(str)
{
    return (str.length==1)?"0"+str:str;
}


function validatecity(weather,rain)
{
   var ddlWeather = document.getElementById(arguments[0]);
   var weatherId = ddlWeather.options[ddlWeather.selectedIndex].value;
    
    var ddlRain = document.getElementById(arguments[1]);
    var rainId = ddlRain.options[ddlRain.selectedIndex].value;
    
    if((weatherId == 0) & (rainId == 0))
    {
        alert("Select City Name to subscribe for Weather and Rain Alerts");
        return false;
    }     
}
