google.load("language", "1"); 

var language = {
	
	"paths" : {"home" : [], "category" : [], "product" : [], "support" : []},
	"target" : new Object(),
	"text" : "",
	"count" : 0,
	"set" : {},
	"language" : {},
	"setLang" : function(){
		
					language.array = document.cookie.split(";");
					
					language.target = false;
					
					language.cms == "" ? language.cms = "home" : language.cms = language.cms;
						
					for(i = 0; i < language.array.length; i++){
						if(language.array[i].split("=")[0].replace(/^\s+|\s+$/g,"") == "language"){
							language.cookieLang = language.array[i].split("=")[1].replace(/^\s+|\s+$/g,"");
							language.target = true;
						}
					}
					
					if(language.target){
						
						language.setup(language.cms+"|"+language.cookieLang);
						
					}
		
				},
	"setup" : function(e){
		
					if(e.split("|")[0] == "home") { language.set = language.paths.home;}
					else if(e.split("|")[0] == "category") { language.set = language.paths.category;}
					else if(e.split("|")[0] == "product") { language.set = language.paths.product;}
					else if(e.split("|")[0] == "support") { language.set = language.paths.support;}
					
					language.language = e.split("|")[1];
					
					document.cookie = "language="+language.language+";expires="+new Date().getTime()+3600;
						
					language.translate(0);
			
				},
	"translate" : function(c) {
						language.count = c;
						language.query = language.set[language.count];
						try{
							if(language.count < language.set.length){
																							
								run(0);
								
							}
							
						}
						catch(e){
							alert("Error in Translation: "+e);
						}
					},
	"replace" : function(){
		
						language.target.innerHTML = language.text;
					
						language.count += 1;
						
						setTimeout("language.translate("+language.count+")", 100);
						
					}
	
};

//::subroutine object
var dd = {
	"count" : 0,
	"tgt" : {},
	"text" : ""
}

//::list arrays per module
language.paths.home[0] = "//div[@class = 'xx']";
language.paths.home[1] = "//div[@id = 'settingX']";
language.paths.home[2] = "//li[@class = 'prodlist _0']";
language.paths.home[3] = "//div[@id = 'flashDetail']";
language.paths.home[4] = "//div[@id = 'footer']";

language.paths.category[0] = "//div[@class = 'xx']";
language.paths.category[1] = "//div[@id = 'settingX']";
language.paths.category[2] = "//li[@class = 'prodlist _0']";
language.paths.category[3] = "//div[@id = 'category']";
language.paths.category[4] = "//div[@class = 'productDetail']";
language.paths.category[5] = "//div[@id = 'footer']";

language.paths.product[0] = "//div[@class = 'xx']";
language.paths.product[1] = "//div[@id = 'settingX']";
language.paths.product[2] = "//li[@class = 'prodlist _0']";
language.paths.product[3] = "//div[@id = 'category']";
language.paths.product[4] = "//td[@class='pit-odd']/h4";
//language.paths.product[5] = "//td/label[@for = 'quantity']";
language.paths.product[5] = "//div[@id='product_main_detail']/ul/li";
language.paths.product[6] = "//div[@id = 'gofir-video']";
language.paths.product[7] = "//div[@id = 'footer']"; 

language.paths.support[0] = "//div[@class = 'xx']";
language.paths.support[1] = "//div[@id = 'settingX']";
language.paths.support[2] = "//li[@class = 'prodlist _0']";
//language.paths.support[3] = "//div[@id = 'category']";
//language.paths.support[4] = "//div[@id = 'product_detail']/node()";
language.paths.support[5] = "//div[@id = 'product_detail']/p";
language.paths.support[6] = "//div[@id = 'footer']";  
/*language.paths.support[7] = "//div[@id = 'register-left']";
language.paths.support[8] = "//div[@id = 'ref-dum-1']";
language.paths.support[9] = "//div[@id = 'ref-dum-2']";
language.paths.support[10] = "//div[@id = 'ref-dum-3']";
language.paths.support[11] = "//div[@id = 'ref-dum-4']";
language.paths.support[12] = "//div[@id = 'ref-dum-5']";
language.paths.support[13] = "//div[@id = 'ref-dum-6']";*/

function run(x)
{	

	dd.count = x;
	
	var c = document.evaluate(language.query,document.body,null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
	
	try{
		
		if(dd.count < c.snapshotLength){
	
			dd.tgt = c.snapshotItem(dd.count);

			google.language.translate(dd.tgt.innerHTML,'',language.language, function(x){
				
					dd.text = x.translation;
					
					gg();
				
			});
			
			
		}
		else{
			
			setTimeout("language.translate("+(language.count+1)+")",100);
			
		}
		
	}
	catch(e){
		alert(e);
	}

}

function gg(){

	dd.tgt.innerHTML = dd.text;
	
	dd.count += 1;
	
	setTimeout("run("+dd.count+")", 100);
		
}
