﻿/**
 * @author CredaLin@gmail.com
 */
/*XHR*/
var xmlHttp = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}
@end @*/
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
	xmlHttp = new XMLHttpRequest();
};
function sendRequest(url)
{
	try {
		//url = url + "?nocache="+Math.floor(new Date().getTime()/10000);
		xmlHttp.open('GET', url,true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");   
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete' ) {
			//if(xmlHttp.status==200){_callback(xmlHttp.responseText);}
				Receiver(xmlHttp.responseXML);
			}
		}
		xmlHttp.send(null);
	} catch (e) {
		//Receiver(e);
	}
};
function getObject(o){
		if (!document.getElementById) { return null; };
		o = (typeof o == 'string') ? document.getElementById(o) : o;
		return o;
};
var  isIE  =   !! document.all;
if ( ! isIE){
    var  ex;
    XMLDocument.prototype.__proto__.__defineGetter__("xml",function (){
        try{
            return new XMLSerializer().serializeToString(this);
        }catch(ex){
            var d = document.createElement("div");
            d.appendChild(this.cloneNode(true));
            return d.innerHTML;
        }
    });
    Element.prototype.__proto__.__defineGetter__("xml",function (){
        try{
			return new XMLSerializer().serializeToString(this);
        }catch (ex){
			var d = document.createElement("div");
			d.appendChild(this.cloneNode(true));
			return d.innerHTML;
		}
    });
    XMLDocument.prototype.__proto__.__defineGetter__( "text" ,function (){
        return this .firstChild.textContent
    });
    Element.prototype.__proto__.__defineGetter__( "text" ,function (){
        return this.textContent
    });

    XMLDocument.prototype.selectSingleNode = Element.prototype.selectSingleNode = function (xpath){
        var  x = this.selectNodes(xpath)
        if ( ! x  ||  x.length < 1 ) return null;
        return  x[ 0 ];
    }
    XMLDocument.prototype.selectNodes = Element.prototype.selectNodes = function (xpath){
        var xpe = new XPathEvaluator();
        var nsResolver = xpe.createNSResolver( this .ownerDocument == null ?
             this .documentElement : this.ownerDocument.documentElement);
        var result=xpe.evaluate(xpath,this,nsResolver,0,null );
        var found=[];
        var res;
        while(res=result.iterateNext())
			found.push(res);
        return found;
    }
}

var speed=2;
var delay=5000;
var gallery = getObject("gallery");
var ppart1 = getObject("ppart1");
var ppart2 = getObject("ppart2");
var MyMar;
var theTimer;
var pause=true;
var hover=false;

function startMarquee(){pause=false;clearInterval(MyMar);MyMar=setInterval(Marquee,speed);}
function Marquee(){	
	if(hover)return;
	if(ppart2.offsetTop-gallery.scrollTop<=0){			
		gallery.scrollTop-=ppart1.offsetHeight;	
	}else if(gallery.scrollTop%110==109){
		gallery.scrollTop++;
		clearInterval(MyMar);
		pause=true;
		theTimer=window.setTimeout(startMarquee,delay);	
	}else{
		gallery.scrollTop++;		
	}
}

/*for ajax callback*/
function Receiver(m){
	var xmlDoc=m;
	//var keyword = xmlDoc.getElementsByTagName("keyword").item(0).text;
	var count = parseInt(xmlDoc.getElementsByTagName("count").item(0).text);

	var allitems = xmlDoc.getElementsByTagName("item");
	var list = getObject("photochina");
	if(count>=5){
	
		for (var i=0;i<allitems.length&&i<60;i++) {
			var picture = allitems[i].selectSingleNode("picture").text;
			var link = allitems[i].selectSingleNode("link").text;
			var subtitle = allitems[i].selectSingleNode("subtitle").text;
		
			var listitem = document.createElement("li");
			var item = document.createTextNode(subtitle);
			var a=document.createElement("a");
			var pic=document.createElement("img");
			pic.src=picture;
			pic.alt=subtitle;
			a.href=link;
			a.target='_blank';
			a.title=subtitle;
			a.appendChild(pic);
			a.appendChild(item);
			listitem.appendChild(a);
			list.appendChild(listitem);
		}
			//ppart1.innerHTML=keyword;
		ppart2.innerHTML=ppart1.innerHTML;
		theTimer=window.setTimeout(startMarquee,delay);	
		gallery.onmouseover=function() {hover=true;clearTimeout(theTimer);}
		gallery.onmouseout=function() {hover=false;if(pause)theTimer=window.setTimeout(startMarquee,delay);}
		gallery.style.display='';
	}

};

var photo_url=document.location.href.replace(/.*\/(.*)(\.html).*/g,"$1.xml");
photo_url="http://weather.china.com.cn/photochina/"+photo_url;
sendRequest(photo_url);



