function logme(t){
 if (typeof console == "undefined") {
     this.console = {log: function() {}};
 }else{
  console.log(t);
 }
}

(function(jQuery){
  jQuery.fn.shuffle = function() {
    return this.each(function(){
      var items = jQuery(this).children();
      return (items.length)
        ? jQuery(this).html(jQuery.shuffle(items))
        : this;
    });
  }

  jQuery.shuffle = function(arr) {
    for(
      var j, x, i = arr.length; i;
      j = parseInt(Math.random() * i),
      x = arr[--i], arr[i] = arr[j], arr[j] = x
    );
    return arr;
  }
})(jQuery);

jQuery(function() {
	jQuery.ajax({
		type: "GET",		
	  	url: "xml_buildingregister.xml",
		dataType: "xml",
		success: function(xmlData)
		{			
			xmlDataSet = xmlData;			
			browseXML();
		}
	});
	
	jQuery("#tickercontainer").hover(function(){ 
	  keep = true;
	},function(){ 
	  keep = false;
	});
});
String.prototype.wordWrap = function(m, b, c){
    var i, j, s, r = this.split("\n");
    if(m > 0) for(i in r){
        for(s = r[i], r[i] = ""; s.length > m;
            j = c ? m : (j = s.substr(0, m).match(/\S*$/)).input.length - j[0].length
            || m,
            r[i] += s.substr(0, j) + ((s = s.substr(j)).length ? b : "")
        );
        r[i] += s;
    }
    return r.join("\n");
};

var msg=new Array();
var entryLength = 0;
var z=0;
var keep = false;
function browseXML()
{	
	var reg = new Array();
	var secarray= new Array();
	var counter=0;
	
	var j=0;
			jQuery(xmlDataSet).find('regionname').each(function(){
			reg[counter]=new Array();
				var title=	jQuery(this).siblings('title').text();
				var scheme=jQuery(this).siblings('scheme').text();
				var ptno=	jQuery(this).siblings('ptno').text();		
				var regionname=jQuery(this).text();
				reg[counter][0]=regionname;
				reg[counter][1]=ptno;
				reg[counter][2]=scheme;
				reg[counter][3]=title;
				counter ++;
				
				});
				
				reg.sort()
				reg.reverse();				
				m=0;
				var newarr = new Array();
				
			     for(j=0;j<counter/3;j++){
				  k=0;		  
				  newarr[j]=new Array();
			      for(var k=0;k<3;k++){
			      	newarr[j][k]=new Array();			      	
			      	newarr[j][k][0]=reg[m][0];
			      	newarr[j][k][1]=reg[m][1];
			      	newarr[j][k][2]=reg[m][2];
			      	newarr[j][k][3]=reg[m][3];
			      	m++;
			      }	
		      	
				}			   

			newarr = jQuery.shuffle(newarr); 		
			
	
	var news1="";
	var news2="";
	var news3="";
	var proid1="";
	var proid2="";
	var proid3="";
	var regname="";
	for(var i=0; i<counter/3; i++){
		
		//news1=newarr[i][0][3].slice(0,30).toLowerCase().wordWrap(21, " ", true);
		news1=newarr[i][0][3].slice(0,30).toLowerCase();
		news2=newarr[i][1][3].slice(0,30).toLowerCase();
		news3=newarr[i][2][3].slice(0,30).toLowerCase();
		
		proid1=newarr[i][0][1];
	    proid2=newarr[i][1][1];
	    proid3=newarr[i][2][1];
	    regname=newarr[i][0][0];
	     var d = '<div class="paratab">';
	    d += '<p ><table  cellpadding="0" cellspacing="0" class="projtable" ><tr>';
	    d += '<td class="projcol2">' + newarr[i][0][0] + '</td><td class="tabimage">';
	    d += '<img src="images/image/arrow.png" class="imageclass" alt="" ></td>';
	    d += '<td class="projcol3" ><div  class="projctheader"><a href="projectdetails.php?pro='+escape(regname)+'"  target="_blank" alt='+news1+' title='+news1+'>' + news1 + '...</a></div></td>';
	    d +='<td class="tabimage"><img src="images/image/arrow.png" class="imageclass" alt="" ></td>';	   
	    d +='<td class="projcol3"><div  class="projctheader"><a href="projectdetails.php?pro='+escape(regname)+'" target="blank" alt='+news2+' title='+news2+'>' + news2 + '...</a></div></td>';
	    d +='<td class="tabimage"><img src="images/image/arrow.png" class="imageclass" alt="" ></td>';
	    d +='<td class="projcol3"><div class="projctheader"><a href="projectdetails.php?pro='+escape(regname)+'" target="blank" alt='+news3+' title='+news3+'>' + news3 + '...</a></div></td></tr></table></p></div>';
		strToAppend=d;
		msg[msg.length++]=strToAppend;
	}
	setTimeout("Visualizza()",1000);
}

function Visualizza(){
		
	if(z==msg.length){
		z=0;	
	}
	//logme(jQuery("#tickercontainer").html());
	jQuery("#tickercontainer #mask").empty();	
	jQuery("#tickercontainer #mask").append(msg[z]);
	z++;
	jQuery("#tickercontainer #mask  table").animate({opacity: 'show' }, 100000, "easeout", function(){ jQuery(this).animate({opacity: 1.0 }, 10000, "easeout", function(){jQuery(this).animate({opacity: 'hide' }, 4500, "easeout", function(){Visualizza()})})});
}
/*jQuery(window).bind("load", function() {
	setTimeout("Visualizza()",1000);
});
*/
//Flash Player Version Detection - Rev 1.6
//Detect Client Browser type
//Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

//JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
			//alert("flashVer="+flashVer);
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

//When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

   	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
if (src.indexOf('?') != -1)
return src.replace(/\?/, ext+'?'); 
else
return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
var str = '';
if (isIE && isWin && !isOpera)
{
		str += '<object ';
		for (var i in objAttrs)
			str += i + '="' + objAttrs[i] + '" ';
		for (var i in params)
			str += '><param name="' + i + '" value="' + params[i] + '" /> ';
		str += '></object>';
} else {
		str += '<embed ';
		for (var i in embedAttrs)
			str += i + '="' + embedAttrs[i] + '" ';
		str += '> </embed>';
}

document.write(str);
}

function AC_FL_RunContent(){
var ret = 
AC_GetArgs
(  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
, "application/x-shockwave-flash"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
var ret = new Object();
ret.embedAttrs = new Object();
ret.params = new Object();
ret.objAttrs = new Object();
for (var i=0; i < args.length; i=i+2){
var currArg = args[i].toLowerCase();    

switch (currArg){	
 case "classid":
   break;
 case "pluginspage":
   ret.embedAttrs[args[i]] = args[i+1];
   break;
 case "src":
 case "movie":	
   args[i+1] = AC_AddExtension(args[i+1], ext);
   ret.embedAttrs["src"] = args[i+1];
   ret.params[srcParamName] = args[i+1];
   break;
 case "onafterupdate":
 case "onbeforeupdate":
 case "onblur":
 case "oncellchange":
 case "onclick":
 case "ondblClick":
 case "ondrag":
 case "ondragend":
 case "ondragenter":
 case "ondragleave":
 case "ondragover":
 case "ondrop":
 case "onfinish":
 case "onfocus":
 case "onhelp":
 case "onmousedown":
 case "onmouseup":
 case "onmouseover":
 case "onmousemove":
 case "onmouseout":
 case "onkeypress":
 case "onkeydown":
 case "onkeyup":
 case "onload":
 case "onlosecapture":
 case "onpropertychange":
 case "onreadystatechange":
 case "onrowsdelete":
 case "onrowenter":
 case "onrowexit":
 case "onrowsinserted":
 case "onstart":
 case "onscroll":
 case "onbeforeeditfocus":
 case "onactivate":
 case "onbeforedeactivate":
 case "ondeactivate":
 case "type":
 case "codebase":
   ret.objAttrs[args[i]] = args[i+1];
   break;
 case "id":
 case "width":
 case "height":
 case "align":
 case "vspace": 
 case "hspace":
 case "class":
 case "title":
 case "accesskey":
 case "name":
 case "tabindex":
   ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
   break;
 default:
   ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
}
}
ret.objAttrs["classid"] = classid;
if (mimeType) ret.embedAttrs["type"] = mimeType;
return ret;
}



