// Global Variable Decaration
var lang = 'gb';
var rootPath = "/"+lang+"/datasource";
var extension = "." + "html";
var AJAX_UPDATE_CONTENT = "home_maincontainer";
var CONST_PAGE_NOT_FOUND_STRING = "<div><p>Your page is not found. <br />Please visit the <a href='javascript:void(0); return false;'>home</a> page.<p></div>"

var isIE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
var isIE = navigator.appName.indexOf("Microsoft") > -1;
if (isIE && document.execCommand) document.execCommand('BackgroundImageCache', false, true);
var menuIsOpen=0;


// Debug functions
var debugStr = '';
function trace() {	
	str = arguments[0];
	if (str) {
		debugStr += str + '\n';
	} else {		
		alert(debugStr);
		debugStr = '';
	}
}
// End of Debug functions

// Custom utility functions

function toTitleCase(str) {
    return str.substr(0,1).toUpperCase() + str.substr(1).toLowerCase();
}

function formatTitle(title) {	
    return '高银地产控股有限公司 ' + (title != '/' ? ' / ' + toTitleCase(title.substr(1, title.length - 2).replace(/\//g, ' / ')) : '');
}

// Custom SWFAddress and Ajax handling
function getTransport_swfaddress() {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        try {
            return new ActiveXObject('Msxml2.XMLHTTP');
        } catch(e) {
            return new ActiveXObject('Microsoft.XMLHTTP');
        }
    }
}

function appear(content, value) {
	return;
    if (typeof value == 'undefined') value = 0;
    if (value > 1) return;
    var property = content.filters ? 'filter' : 'opacity';
    content.style[property] = content.filters ? 'alpha(opacity=' + value*100 + ')' : value;
    setTimeout(function () {appear(content, value + .1)} , 50);
}
 
function checkContentHaveJS(elem, inhtml) {
	inhtml = inhtml.replace(/<\?xml[^>]*>/gi, "");
	var e = document.getElementById(elem);
	if (!e) { return; }
	e.innerHTML = inhtml;
	// using ReExg to eval the javascript loaded from ajax.	
	var strTmp = inhtml;	
	var matches = strTmp.match(/<script[^>]*>[^<]+<\/script[^>]*>/gi);
	if (!matches) {
		return;
	}
	for (var i = 0; i < matches.length ; i++) {
		var tmpStr = matches[i];
		tmpStr = tmpStr.replace(/<script[^>]*>/i, "");
		tmpStr = tmpStr.replace(/<\/script[^>]*>/i, "");
		matches[i] = tmpStr;	
		//alert( i + "  " +  matches[i] + "\n==========================\n");		
		eval(matches[i]);
	}	
}

function updateChange(xhr) {
    if (xhr.readyState == 4) {
        if (xhr.status == 200) {
            var content = document.getElementById(AJAX_UPDATE_CONTENT);
            if (com.asual.util.Browser.isIE() && false) {
                var _content = document.getElementById('_' + AJAX_UPDATE_CONTENT);
                if (_content == null) {
                    var _content = content.cloneNode(false);
                    _content.id = '_content';
                    _content.style.position = 'absolute';
                    _content.style.top = content.offsetTop;
                    _content.style.left = '50%';
                    _content.style.width = content.offsetWidth;
                    _content.style.marginLeft = -content.offsetWidth/2;
                    document.body.appendChild(_content);
                }
                //_content.innerText = xhr.responseText;
				checkContentHaveJS('_' + AJAX_UPDATE_CONTENT, xhr.responseText);

                // content.style.height = _content.offsetHeight;
                appear(_content);
            } else {
				checkContentHaveJS(AJAX_UPDATE_CONTENT, xhr.responseText);				
                //content.innerHTML = xhr.responseText;
                appear(content);
            }
        } else {
			checkContentHaveJS(AJAX_UPDATE_CONTENT, CONST_PAGE_NOT_FOUND_STRING);
//            alert('Error: ' + xhr.status + '!');
        }
    }
}

function getElementsByClassName(needle) {
   var my_array = document.getElementsByTagName("*");
   var retvalue = new Array();
   var i;
   var j;

   for (i=0,j=0;i<my_array.length;i++) {
      var c = " " + my_array[i].className + " ";
      if (c.indexOf(" " + needle + " ") != -1) retvalue[j++] = my_array[i];
   }
   return retvalue;
}

function handleChange(event) {   
	var index, rel;	
	var links = $$('#home_topnav a');	
    for (var i = 0, l; link = links[i]; i++) {
        index = link.rel;
		index = (index)?index.indexOf('?'):-1;
        rel = (index > -1) ? link.rel.substr(0, index) : link.rel;
        link.addClassName( (rel == (event.path))? 'selected' : '');
    }
    var parameters = '';
    for (var p in event.parameters) {
        parameters += '&' + p + '=' + event.parameters[p];
    }
    var xhr = getTransport_swfaddress();
    xhr.onreadystatechange = function() {
        updateChange(xhr);
    }
	//    xhr.open('get', 'datasource.php?swfaddress=' + event.path + parameters, true);
	var scrollMovie="home_flashmap_CONSTclose";
	var scrollMovie2="home_flashmap_CONSTopen";
	var scrollMovie_NOTvisible="home_flashmap_CONST_NOTvisibile";
	var home_scrollContent="home_scrollContent";
	var home_scrollContent_home="home_scrollContent_home";
	
	var myPath = event.path;
	if (myPath == '/' || myPath=='/index/') {
		myPath='/index';
			if (menuIsOpen==0){
		divs_scrollMovie = getElementsByClassName(scrollMovie);} else {
			divs_scrollMovie2 = getElementsByClassName(scrollMovie2);}
	//	divs_home_scrollContent = getElementsByClassName(home_scrollContent);
	//	for(j=0; j <divs_home_scrollContent.length;j++) {
	//		divs_home_scrollContent[j].className=home_scrollContent;
	//		}
	//	changecss('.home_scrollContent','width','100%');
	
	divs_home_scrollContent = document.getElementById("home_maincontainer");
		divs_home_scrollContent.style.width = "100%";
		divs_home_scrollContent = getElementsByClassName(home_scrollContent);
		divs_home_scrollContent.width = "100%"; 
	

		if (menuIsOpen==0){
		
		for(i=0; i <divs_scrollMovie.length;i++) {
			divs_scrollMovie[i].className=scrollMovie_NOTvisible;
			}
		}else {	
			
		for(i=0; i <divs_scrollMovie2.length;i++) {
			divs_scrollMovie2[i].className=scrollMovie_NOTvisible;
			}
		}
		
				
		
		//alert("dfhksdf");
	} else {
		
		myPath = myPath.substr(0, myPath.length-1);
		divs_scrollMovie3 = getElementsByClassName(scrollMovie_NOTvisible);
	//	divs_home_scrollContent_home = getElementsByClassName(home_scrollContent_home);
	//	for(j=0; j <divs_home_scrollContent_home.length;j++) {
	//		divs_home_scrollContent_home[j].className=home_scrollContent_home;
	//	}
		//changecss('.home_scrollContent','width','970px');
	
			divs_home_scrollContent = document.getElementById("home_maincontainer");
		divs_home_scrollContent.style.width = "970px";
		//divs_home_scrollContent = getElementsByClassName(home_scrollContent);
	//divs_home_scrollContent.width = "970px"; 
//	alert(menuIsOpen);
	if (menuIsOpen==0){
		for(i=0; i <divs_scrollMovie3.length;i++) {
			divs_scrollMovie3[i].className=scrollMovie;
			}	
	} else {for(i=0; i <divs_scrollMovie3.length;i++) {
			divs_scrollMovie3[i].className=scrollMovie2;
			}}
	}



	myPath = rootPath + myPath + extension;
    xhr.open('get', myPath, true);
    xhr.send('');
    SWFAddress.setTitle(formatTitle(event.path));
}

SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleChange);

////////////////////////////////////////////////////////////
// due to the poor function of swfobject 2.0
// the DOM swf <object> make two things (div, and object) with the same id.
////////////////////////////////////////////////////////////
function fixDupilcationOfSwfObject() {
	var e;
	if (isIE) {
		e = $('home_flashcontainer');
		$('home_flashcontainer').setStyle({
		  'width': '100%',
		  'bottom': '0px'
		});
		var str = $('home_flashcontainer').getStyle('bottom');
	}
	e = document.getElementsByTagName('object');
	var taregetFlash;
	for (var i=0;i < e.length; i++) {
		if (e[i].getAttribute('id') == "home_flashcontainer_dummy_08034670764574570703" ) {
			taregetFlash = e[i];
		}
	}
	$('home_flashcontainer').removeClassName('home_flashmap_preInit');
	if (taregetFlash) {
		taregetFlash.setAttribute('id', 'home_flashmap');
		$('home_flashmap').removeClassName('home_flashmap_preInit');
		$('home_flashcontainer').appendChild(taregetFlash);		
	}
	e = document.getElementsByTagName('div');
	var taregetDiv;
	for (var i=0;i < e.length; i++) {
		if (e[i].getAttribute('id') == "home_flashcontainer_dummy_08034670764574570703" ) {
			taregetDiv = e[i];
		}
	}
	taregetDiv.parentNode.removeChild(taregetDiv);
	
	mapReset();
}

function mapReset() {
	 $('home_flashcontainer').setStyle({
	   display:'block',
	   position:'absolute',
	   width:'100%',
	   height:'77px',//  height:'77px',
	   bottom:'0px',// bottom:'0px',
	   left:'0px'
	 });	
	
}
function mapOpen() {
	
//var home_flashcontainer_object="home_flashcontainer"
//	divs_home_flashcontainer_object = document.getElementById(home_flashcontainer_object);
	//divs_home_flashcontainer_object.firstChild.style.height = "100%";
	
	//alert(divs_home_flashcontainer_object.firstChild.nodeValue);

	var e = $('home_flashcontainer');
	e.removeAttribute("style");
	var styleStr = 'display:block;position:absolute;width:100%;height:120px;bottom:0px;left:0px;z-index:9;';//var styleStr = 'display:block;position:absolute;width:100%;height:77px;bottom:0px;left:0px;z-index:9;';
	e.setAttribute('style', styleStr);
	
	
	
	var a = new Object();
	a.onMotionFinished = function(){
		//alert('mapOpen() onMotionFinished');
	};

	var t1 = new Tween(e.style,'height',Tween.strongEaseOut,77,473,0.4,'px');
	//var t1 = new Tween(e.style,'height',Tween.strongEaseOut,114,513,0.4,'px');
	//var t1 = new Tween(e.style,'height',Tween.strongEaseOut,77,484,0.4,'px');
	t1.addListener(a);
	t1.start();
	menuIsOpen=1;
var flashopen="home_flashmap_CONSTopen";
var flashclose="home_flashmap_CONSTclose";

divs_flashclass = getElementsByClassName(flashclose);
for(i=0; i <divs_flashclass.length;i++) {
	divs_flashclass[i].className=flashopen;
}
}
function mapClose() {
	
	var e = $('home_flashcontainer');
	e.removeAttribute("style");
	var styleStr = 'display:block;position:absolute;width:100%;height:527px;bottom:0px;left:0px;z-index:9;';//var styleStr = 'display:block;position:absolute;width:100%;height:484px;bottom:0px;left:0px;z-index:9;';
	e.setAttribute('style', styleStr);
	
	//var home_flashcontainer_object="home_flashcontainer"
	//divs_home_flashcontainer_object = document.getElementById(home_flashcontainer_object);
	//divs_home_flashcontainer_object.firstChild.style.height = "114px";
	
	var Fnc = function() {};
	var a = new Object();
	a.onMotionFinished = function(){
		//Fnc();
		//alert('mapClose() onMotionFinished');
	};
	

	
	var t1 = new Tween(e.style,'height',Tween.strongEaseOut,473,77,0.3,'px');
	//	var t1 = new Tween(e.style,'height',Tween.strongEaseOut,513,114,0.3,'px');
	//var t1 = new Tween(e.style,'height',Tween.strongEaseOut,484,77,0.3,'px');
	t1.addListener(a);
	t1.start();
	
	menuIsOpen=0;
var flashopen="home_flashmap_CONSTopen";
var flashclose="home_flashmap_CONSTclose";

divs_flashclass = getElementsByClassName(flashopen);
for(i=0; i <divs_flashclass.length;i++) {
	divs_flashclass[i].className=flashclose;
}
}

function toggleMap(fg){
	if (fg.toString() == 'false') {
		mapOpen();
		return;
	}
	mapClose();
}


var motion;
var goSpeed = 30;
var tempNum;
var frameBody;
var tempL;
var tempW;
var temp = 0;

var tempX;
var tempY;
var isIFrame = false;

var parentWindow;

function autoScrollStart(name, goNum) {	
	scrollStop();
	tempNum = goNum;
	if (navigator.appName.indexOf("Microsoft") > -1) {
    	frameBody  = document.getElementById(name);
    } else {
    	frameBody  = document.getElementById(name);
    }
	//window.status = frameBody.scrollWidth;
	autoScrollMotion();
}

function scrollStart(name, goNum, iFrame) {

	tempNum = goNum;
	if (navigator.appName.indexOf("Microsoft") > -1) {
		if (iFrame != null) {
    		frameBody  = document.frames(name).document.body;
    		isIFrame = true;
    	} else {
    		frameBody  = document.getElementById(name);
    	}
	} else {
		if (iFrame != null) {
    		frameBody  = document.all(name);
    	//	frameBody.contentWindow.scrollTo(0, 0);
    		isIFrame = true;
    	} else {
    		frameBody  = document.getElementById(name);
    	}
	}
	scrollMotion();
}

function scrollMotion(){
//	window.status = document.getElementById("contentIFrame").document.body.scrollHeight +"  :  "+ frameBody.offsetHeight;
	if (navigator.appName.indexOf("Microsoft") > -1) {
		frameBody.scrollTop += tempNum;
	} else {
		if (isIFrame) {
			tempX = frameBody.contentWindow.pageXOffset;
			tempY = frameBody.contentWindow.pageYOffset;
			tempY += tempNum;
			frameBody.contentWindow.scrollTo(tempX, tempY);
		} else {
			frameBody.scrollTop += tempNum;
		}
	}
	
	motion = setTimeout("scrollMotion()", goSpeed);
}

function scrollStop() {
	clearTimeout(motion);
}

function popupHtml(file, w, h, name, link) {
 var popUpPage2 = window.open('', ''+name+'', 'width='+w+',height='+h+',left=0,top=0,screenX=0,screenY=0,scrollbars=0,resizable=0');
 popUpPage2.document.open();
 popUpPage2.document.write('<html>');
 popUpPage2.document.write('<head><title>高銀地產控股有限公司</title><script language="JavaScript" src="include/common.js"></script></head>');
 popUpPage2.document.write('<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">');
 popUpPage2.document.write(' <img src="'+path+file+'" width="'+w+'" height="'+h+'" border="0">');
 popUpPage2.document.write('</body>');
 popUpPage2.document.write('</html>');
 popUpPage2.document.close();
 popUpPage2.focus();
}

/*Popup a new window*/
function NewWindow(mypage, myname, w, h, scroll,resizable) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable='+resizable+','
	win = window.open(mypage, myname, winprops)
	win.self.focus()
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}