/*
	depend on common.js,forms.js
*/
var Language;
var Locale = {
	EN:"ENGLISH",
	CN:"SIMPLIFIED_CHINESE",
	TW:"TRADITIONAL_CHINESE"
};

function selectLanguage(obj){
	curLocale = Locale.EN;		
	if(obj.indexOf("EN") > -1){ 
		curLocale = Locale.EN;
		Language = "en-us";
		SetLanguageCookie('en-us');
	}else if(obj.indexOf("TW") > -1 ){	
 	    curLocale = Locale.TW;	
 	    Language = "zh-Hant";
 	    SetLanguageCookie('zh-Hant');
    }else if(obj.indexOf("CN") > -1 ){	
 	    curLocale = Locale.CN;	
 	    Language = "zh-Hans";
 	    SetLanguageCookie('zh-Hans');
    }
    if(document.getElementById("frame1") != self.undefined){
	    if(frame1.translate){
			frame1.translate();
		}
    }
    if(document.getElementById("frame0") != self.undefined){
	    $("frame0").src = $("frame0").getAttribute("src");
    }
	translate();
}

function translate(lan){
	Language = GetLanguageCookie();
	if(GetLanguageCookie()=="zh-Hant")
		curLocale = Locale.TW;
	else if(GetLanguageCookie()=="zh-Hans")
		curLocale = Locale.CN;
	else
		curLocale = Locale.EN;
	var tObjs = document.getElementsByTagName("DIV");
	for (var i = 0; i < tObjs.length; i++){
		o = tObjs.item(i);
		if(o == undefined) continue;
		if (o.tagName.toUpperCase()=="DIV" ){
			 if(o.getAttribute("T:values") != null) {
			 	o.innerHTML = getLocalStr(o.getAttribute("T:values"),lan);				
			 }
		}
	}
	
	tObjs = document.getElementsByTagName("SPAN");
	for (var i = 0; i < tObjs.length; i++){
		o = tObjs.item(i);
		if(o == undefined) continue;
		if (o.tagName.toUpperCase()=="SPAN" ){
			 if(o.getAttribute("T:values") != null) {
			 	o.innerHTML = getLocalStr(o.getAttribute("T:values"),lan);				
			 }
		}
	}
	
	tObjs = document.getElementsByTagName("TD");
	for (var i = 0; i < tObjs.length; i++){
		o = tObjs.item(i);
		if(o == undefined) continue;
	 	if(o.tagName.toUpperCase()=="TD"){
			if(o.getAttribute("T:title") != null) {
			 	o.title = getLocalStr(o.getAttribute("T:title"),lan);				
			}
		}
	}
	
	tObjs = document.getElementsByTagName("TITLE");
	
	for (var i = 0; i < tObjs.length; i++){
		o = tObjs.item(i);
		if(o == undefined) continue;
		if (o.tagName.toUpperCase()=="TITLE" ){
			 if(o.getAttribute("lang") != null) {
			 	document.title = getLocalStr(o.getAttribute("lang"),lan);
			 	
			 }
		}
	}
	
	tObjs = document.getElementsByTagName("A");
	for (var i = 0; i < tObjs.length; i++){
		o = tObjs.item(i);
		if(o == undefined) continue;
		if (o.tagName.toUpperCase()=="A" ){
			 if(o.getAttribute("T:values") != null) {
			 	o.innerHTML = getLocalStr(o.getAttribute("T:values"),lan);				
			 }
			 if(o.getAttribute("T:href") != null) {
			 	o.href = getLocalStr(o.getAttribute("T:href"),lan);				
			 }
		}
	}
	
	tObjs = document.getElementsByTagName("IMG");
	 for (var i = 0; i < tObjs.length; i++){
		o = tObjs.item(i);
		if(o == undefined) continue;
		if (o.tagName.toUpperCase()=="IMG"){
			 if(o.getAttribute("T:src") != null) {
			 	o.src = getLocalStr(o.getAttribute("T:src"),lan);				
			 }
			 
			 if(o.getAttribute("T:alt") != null) {
			 	o.alt = getLocalStr(o.getAttribute("T:alt"),lan);				
			 }
		}
	 }
	
	tObjs = document.getElementsByTagName("IFRAME");
	 for (var i = 0; i < tObjs.length; i++){
		o = tObjs.item(i);
		if(o == undefined) continue;
		if (o.tagName.toUpperCase()=="IFRAME"){
			 if(o.getAttribute("T:src") != null) {
			 	var srcStr = getLocalStr(o.getAttribute("T:src"),lan);
			 	if(srcStr != o.src){
			 		o.src = getLocalStr(o.getAttribute("T:src"),lan);
			 	}			
			 }
		}
	 }
	 
	tObjs = document.getElementsByTagName("INPUT");
	for (var i = 0; i < tObjs.length; i++){
		o = tObjs.item(i);
		if(o == undefined) continue;
	 	if(o.tagName.toUpperCase()=="INPUT"){
			if(o.getAttribute("T:values") != null) {
			 	o.value = getLocalStr(o.getAttribute("T:values"),lan);				
			}
		}
	}
	
	tObjs = document.getElementsByTagName("OPTION");
	for(var i=0;i<tObjs.length; i++){
		o= tObjs[i];
		if(o == undefined) continue;
		if(o.tagName.toUpperCase()=="OPTION"){
		 	if(o.getAttribute("T:values") != null) {
			 	o.text = getLocalStr(o.getAttribute("T:values"),lan);		
			}
		}	
	}

	tObjs = document.getElementsByTagName("OBJECT");
	for (var i = 0; i < tObjs.length; i++){
		
		o = tObjs.item(i);
		if(o == undefined) continue;
	 	if(o.tagName.toUpperCase()=="OBJECT"){
		 	if(o.getAttribute("values") != null) {
		 		var flashName = getLocalStr(o.getAttribute("values"),lan)
		 		if(o.getAttribute("movie") !=null ){//IE
		 			if(o.getAttribute("movie")!= flashName) {
		 				o.setAttribute("movie", flashName);
		 			}
		 		}else{// Firefox
		 			var pas =  o.getElementsByTagName("param");
				 	for(var ii=0;ii<pas.length;ii++){
				 		var pa = pas[ii];
					 	 if(pa.name=="movie"){
					 	 	var embeds =  o.getElementsByTagName("embed");
	 						var embed = embeds[0];
	 						if(embed.src.indexOf(flashName)== -1){
	 						 	embed.src=flashName;
	 						 }
	 						//Element.hide($("flashDiv"));
							//o.focus();
							//Element.show($("flashDiv"));
					 	 }
					}
		 		}	
		 	}
		}
	}
}

function getCurLocale(_w){
	if(GetLanguageCookie()=="zh-Hant")
		return Locale.TW;
	else if(GetLanguageCookie()=="zh-Hans")
		return Locale.CN;
	else
		return Locale.EN;
	
}

function getLocalStr(str,lan){
	var localstr = str;
	
	var reen = /@(CN|TW)[^@]*@/g;
	var recn = /@(EN|TW)[^@]*@/g;
	var retw = /@(EN|CN)[^@]*@/g;
	if(lan==self.undefined){
		if(parent.curLocale == self.undefined || parent.curLocale == Locale.EN){
			localstr = str.replace(reen , "").replace(/@EN/g,"").replace(/@/g,"");
		}else if(parent.curLocale == Locale.CN) {
			localstr = str.replace(recn , "").replace(/@CN/g,"").replace(/@/g,"");
		}else if(parent.curLocale == Locale.TW){
			localstr = str.replace(retw , "").replace(/@TW/g,"").replace(/@/g,"");
		}
	}else{
		if(lan == Locale.EN){
			localstr = str.replace(reen , "").replace(/@EN/g,"").replace(/@/g,"");
		}else if(lan == Locale.CN) {
			localstr = str.replace(recn , "").replace(/@CN/g,"").replace(/@/g,"");
		}else if(lan == Locale.TW){
			localstr = str.replace(retw , "").replace(/@TW/g,"").replace(/@/g,"");
		}	
	}
	//if str contans char @ ,then use ||| replace it!
	localstr = localstr.replace(/\|\|\|/g,"@");
	return localstr;
}	

var saveAlertsaveAlertsaveAlert = window.alert;
window.alert= function(str){
	saveAlertsaveAlertsaveAlert(getLocalStr(""+str));
}

window.alertL= function(str){
	window.alert(getLocalStr(""+str));
}
