//Constants 
var debugMode = false;
var lang_default = "en";
var terms_ids = new Array(
		"enhanced_search", 
		"fm_by", 
		"web", 
		"images", 
		"video", 
		"news", 
		"fm_download", 
		"more", 
		"btnpos",
		"goToApp", 
		"translate", "games", "shopping", "fm_games" 
		);
terms_ids.push( "translate_title", "translate_term", "translate_into", "translate_btn", "trans_link" );

var langs_arr = {
	"en": "English",
	"fr": "Français",
	"he": "עברית",
	"it": "Italiano",
	"rs": "Србија",
	"hr": "Hrvatska",
	"gr": "Ελλάδα",
	"de": "Deutsch",
	"es": "Español",
	"in": "Indonesia",
	"ar": "العربية"
};

var dict	= new Array();
dict["en"] = new Array("Enhanced Search", "By facemoods.com", "Web", "Images", "Video", "News", "Download Facemoods",  "More", "Search","Supermoods app", "Translate","Games","Shopping","Facemoods Games");
dict["en"].push( "Translate text:", "Translate...", "Translate into", "Translate", "One click translation free software, click here!" );

//French
dict["fr"] = new Array("Enhanced Search", "By facemoods.com", "Web", "Images", "Vidéos", "Actualités", "Télécharger Facemoods","More","Recherchez","Supermoods Application","Traduire","Juex","Shopping","Facemoods Juex");	
dict["fr"].push( "Traduire un texte:", "Traduire...", "Traduire en", "Traduire", "Traduction en Un-Clic de n’importe quelle langue vers n’importe quelle langue" );

//Greek
dict["gr"] = new Array("Enhanced Search", "By facemoods.com", "Παγκόσμιος ιστός", "Εικόνες", "βίντεο", "Ειδήσεις", "λήψη Facemoods","More","αναζήτηση","Supermoods εφαρμογή","μεταφράζουν","Παιχνίδια","ψώνια","Facemoods Παιχνίδια");
dict["gr"].push( "Κείμενο που μεταφράζει:", "ΜεταφράστεΜεταφράστεtra...", "μεταφραστούν σε", "ΜεταφράστεΜεταφράστεtra", "Μετάφραση με ένα κλικ απο οποιαδήποτε γλώσσα σε οποιαδήποτε γλώσσα!" );

//croatian
dict["hr"] = new Array("Enhanced Search", "By facemoods.com", "web", "Slike", "video", "vijesti", "Preuzimanje Facemoods", "More","traži","Supermoods aplikacija","Prevoditelj","Igre","Shopping","Facemoods Igre");	
dict["hr"].push( "Translate text:", "Translate...", "Translate into", "Translate", "One click translation free software, click here!" );

//Italy
dict["it"] = new Array("Enhanced Search", "By facemoods.com","Web","Immagini","Video","Notizie","Scaricare","More","Cerca","Supermoods applicazione","tradurre","giochi","Shopping","Facemoods giochi");
dict["it"].push( "tradurre il testo:", "Tradurre...", "si traducono in", "Tradurre", "Traduzione con un click da e verso qualunque lingua!" );

//Serbia
dict["rs"] = new Array("Enhanced Search", "By facemoods.com", "Веб", "Слике", "Видео", "вести", "преузети",  "More", "претрara","Supermoods апликација","Преводилац","Игре","Куповина","Facemoods Игре");
dict["rs"].push( "Преведи текст:", "Превести...", "Преведи на", "Превести", "One click translation free software, click here!" );

//Deutsch
dict["de"] = new Array("Enhanced Search", "By facemoods.com", "Web", "Bilder ","Videos","News","Download Facemoods","More","Suche","Supermoods app", "übersetzen","Spiele","Einkaufen","Facemoods Spiele");
dict["de"].push( "Text übersetzen:", "übersetzentr...", "Übersetzen in", "übersetzentr", "Ein-Klick-Übersetzung, aus jeder Sprache in jede Sprache!" );

//Indonesia
dict["in"] = new Array("Enhanced Search", "By facemoods.com", "Web","Gambar","Video","berita", "Download Facemoods",  "More", "Nggoleki","Supermoods app", "menerjemahkan","permainan","belanja","Facemoods permainan");
dict["in"].push( "Menterjemahkan:", "diterjemahkan ke dalam...", "diterjemahkan ke dalam", "diterjemahkan ke dalam", "Satu klik terjemahan, klik di sini!" );

//Español
dict["es"] = new Array("Enhanced Search", "By facemoods.com", "La Web", " Imágenes", "Vídeos", "Noticias", "Facemoods descarga",  "More", "Buscar","Supermoods app", "traducir","juegos","compras","Facemoods juegos");
dict["es"].push( "Traducir el texto:", "Traducir...", "Traducir al", "Traducir", "Traducción con un clic de cualquier idioma a cualquier idioma!" );

//Hebrew
dict["he"] = new Array("Enhanced Search", "By facemoods.com", 
"אינטרנט", 
"תמונות", 
"וידאו", 
"חדשות",
"הורד",
"More", 
"חיפוש",
"אפליקציית סופרמוד",
"תרגום",
"משחקים",
"קניות",
"פייסמוד משחקים");
dict["he"].push( "תרגום טקסט:", 
		"תרגם...", 
		"תרגם ל", 
		"תרגם", 
		"תוכנה חינם לתרגום בקליק אחד, לחץ כאן!" );

//Arabic
dict["ar"] = new Array("Enhanced Search", "By facemoods.com", 
"إنترنت", 
"صور", 
"فيديو", 
"الأخبار", 
"تحميل Facemoods", 
"More", 
"بحث", 
"Supermoods Apps", 
"الترجمة", 
"الالعاب",  
"تسوق", 
"ألعاب Facemoods");
dict["ar"].push( "ترجمة النص:",	"ترجمة...", "ترجمة ل", "ترجم", "ترجمة واحدة برمجيات حرة ، انقر هنا!" );

function showAlert(str){
	if (debugMode) alert(str);
}
function pageLoad_land() {
	try{
		var lang_curr = getCookie( "fm_language" );
		if( lang_curr == "" ) lang_curr = lang_default; 
		//set_inner_html( lang_curr );
		set_lang_span( lang_curr );
		
		//set_hidden_input(url_parsed);
		document.getElementById("midSctn").style.display = "block";
		var url_parsed = parseUrl( window.location.href );
		// category handiling
		if( url_parsed.category && url_parsed.category!="" ){
			var elm = document.getElementById( url_parsed.category );
			if( elm ) catClick( elm );
		}
		if( document.getElementById('srchCrt') ) {
			document.getElementById('srchCrt').focus();
		}
		
	}catch(e){showAlert('load: '+e.message);}
}
function pageLoad_translate() {
	try{
		pageLoad_land();
		var lang_curr = getCookie( "fm_language" );
		if( lang_curr == "" ) lang_curr = lang_default; 
		set_inner_html( lang_curr );
	}catch(e){showAlert('load: '+e.message);}
}
function checkRTL( ) {
	var lang_curr = getCookie( "fm_language" );	
	if( lang_curr == "ar" || lang_curr == "he" ) {
		changeRTL( "right", "rtl" );		
	}
}
function set_inner_html( lang_curr ) {
	try{
		for(i = 0; i < terms_ids.length; i++) {
			tagID 	 = terms_ids[i];
			termText = dict[lang_curr][i];
			replaceText( tagID, termText );
		}
	}catch(e){showAlert('set_inner_html: '+e.message);}

}
function set_hidden_input( url_parsed) {
	try{
		if( typeof(url_parsed) == "undefined" || !url_parsed) {
			return false;	
		}
		// category handiling
		if( url_parsed.category && url_parsed.category!="" ){
			var elm = document.getElementById( url_parsed.category );
			if( elm ) catClick( elm );
		}
		//f handling
		if( url_parsed.f && url_parsed.f!=1 ){
			create_input( "f", url_parsed.f );
		}
		//a handling
		if( url_parsed.a ){
			create_input( "a", url_parsed.a );
		}
	}catch(e){
		showAlert('hidden: ' + e.message);
	}
}
function create_input( inputName, inputValue ) {
	try{
		var formRef 	= document.forms["srchFrm"]; 
		var hiddenInput	= document.createElement("input");
		hiddenInput.setAttribute("type", "hidden");
		hiddenInput.setAttribute("name", inputName);				
		hiddenInput.setAttribute("value", inputValue);
		formRef.appendChild(hiddenInput);
	}catch(e){ showAlert('create_input: '+e.message);}
}

function replaceText( buttonId, text ){
	try{
		if (document.getElementById) {
			var button = document.getElementById(buttonId);
			if (button && button.tagName != 'INPUT'){
				button.innerHTML = text;
			} else {
				button.value = text;
			}
		}
	}catch(e){showAlert('replaceText: '+e.message);}
}

function catClick(elm){
	try{
		if (elm.className=='chsn'){
			return false;
		}
		var srchCrt = document.getElementById('srchCat');
		var spans=srchCrt.getElementsByTagName('span');
		for (var i=0; i < spans.length ; i ++){
			if (spans[i].className=='chsn'){
				spans[i].className = '';
			}
		}
		elm.className='chsn';
		document.getElementById('category').value = String(elm.id).toLowerCase();
	}catch(e){showAlert(e.message);}
}
function SetCookie( cookieName,cookieValue,nDays ) {
	try{
		var today = new Date();
		 var expire = new Date();
		 if (nDays==null || nDays==0) nDays=1;
		 expire.setTime(today.getTime() + 3600000*24*nDays);
		 document.cookie = cookieName+"="+escape(cookieValue)
		                 + ";expires="+expire.toGMTString();
	}catch(e){showAlert(e.message);}
}
function getCookie( c_name ) {
	try{
		if( document.cookie.length > 0 ) {
		  c_start = document.cookie.indexOf(c_name + "=");
		  if( c_start != -1 ) {
		    c_start = c_start+c_name.length+1;
		    c_end	= document.cookie.indexOf(";",c_start);
		    if( c_end == -1 ) c_end = document.cookie.length;
		    return unescape( document.cookie.substring( c_start,c_end ) );
		  }
		}
		return "";
	}catch(e){showAlert(e.message);}
}
function parseUrl(url_){
	try {
	    var jsn_url;
	    var pth2q = url_.split('?');
	    if( pth2q && pth2q.length > 1 ){
			jsn_str=pth2q[1].replace(/&/g,"\",");
			jsn_str=jsn_str.replace(/\",$/g,"");
			jsn_str="jsn_url={"+jsn_str.replace(/=/g,":\"")+"\"};";
	        eval(jsn_str);
	        return jsn_url;
		}
	}catch(e){showAlert('parseUrl: '+e.message);}
}				
function changeLang(lang){
	try{
		SetCookie( "fm_language", lang, 30 );
		SetCookie( "force_lang", true, 30 );
		if( lang == "ar" || lang == "he" ) {
			changeRTL( "right", "rtl" );	
		} else {
			changeRTL( "left", "ltr" );
		}
		set_inner_html( lang );
		set_lang_span( lang ); 
	}catch(e){showAlert(e.message);}
}
function set_lang_span( lang ) {
	try{	
		tagID 	 = "currentLang";
		termText = langs_arr[lang];
		replaceText( tagID, termText );
		document.getElementById(tagID).style.display = "inline";
		if (lang == lang_default) {
			document.getElementById("engLink").style.display = "none";
		} else {
			document.getElementById("engLink").style.display = "inline";				
		}  
	}catch(e){showAlert(e.message);}
}
function toggleDisplay(id, show, bindWindowClick) {
	try{
		show = show || 'block';
		bindWindowClick = bindWindowClick || false;
		var el = document.getElementById(id);
		if (el.style.display == 'none') {
			el.style.display = show;
			if (bindWindowClick) {
				document.onclick = function(e) {
					if (!bindWindowClick) { el.style.display = 'none'; }
					bindWindowClick = false;
				}
			}
		} else {
			el.style.display = 'none';
			if ( bindWindowClick ) {
				document.onclick = null;
			}
		}
	}catch(e){showAlert(e.message);}
}
function changeRTL( floatVar, rtlVar ) {
	try{
		var id = "midSctn";
		var e1 = document.getElementById(id);
		e1.style.direction = rtlVar;
		e1.className = 'mid_'+floatVar+'_align';
		
		var e2 = document.getElementById("SE_logos_holder");
		if( e2 ) {
			if (floatVar=='right'){
				e2.className = 'SE_logos_rtl';
			} else {
				e2.className = 'SE_logos';
			}
			
		} 
			
		
	}catch(e){showAlert(e.message);}
}
/**********************************/
/*** Results template XSL file ****/

var dict_res_ids = new Array("web", "images", "video", "news", "btnpos", "Button2", 
				"result_page", "related_searches", "of_about", "for_res", "to_res", "results","translate","games","shopping");

var dict_res  	= new Array();
//English
dict_res["en"]	= new Array("Web","Images","Video","News", "Search", "Search","Result Page:", "Related Searches", "of about","for", "to","Results","Translate","Games","Shopping");
//French
dict_res["fr"]	= new Array("Web","Images","Vidéos","Actualités","Recherchez","Recherchez","Page de résultats:","Related Searches", "sur un total d'environ","pour","pour","Résultats","Traduire","Juex","Shopping");
//Greek
dict_res["gr"]	= new Array("Παγκόσμιος ιστός","Εικόνες","βίντεο","Ειδήσεις","αναζήτηση","αναζήτηση","σελίδα αποτελεσμάτων:", "Related Searches", "από περίπου","για", "-", "Αποτελέσματα","μεταφράζουν","Παιχνίδια","ψώνια");
//croatian
dict_res["hr"]	= new Array("Web","Slike","video","vijesti","traži","traži","Stranica rezultata:","Related Searches","od približno","za","-","Rezultati","Prevoditelj","Igre","Shopping");	
//Italy
dict_res["it"]	= new Array("Web","Immagini","Video","Notizie","Cerca","Cerca","Pagina dei risultati:","Related Searches","su circa","per","-","Risultati","tradurre","giochi","Shopping");
//Serbia
dict_res["rs"]	= new Array("Веб","Слике","Видео","вести","претрara","претрara","Резултат страницу:","Related Searches","од oкo","за","to","Резултати","Преводилац","Игре","Куповина");
//Deutsch
dict_res["de"]	= new Array("Web", "Bilder","Videos","News", "Suche", "Suche","Ergebnisse  Seite:", "Verwandte Suchbegriffe", " von ungefähr"," für", " zu","Ergebnisse ","übersetzen","Spiele","Einkaufen");
//Indonesia
dict_res["in"]	= new Array("Web","Gambar","Video","berita", "Nggoleki", "Nggoleki"," Asile Halaman:", "Related Searches", " teko kiro-kiro"," kanggo", "to","Results","menerjemahkan","permainan","belanja");
//Español
dict_res["es"]	= new Array("La Web", "Imágenes", "Vídeos", "Noticias", "descarga", "descarga","Página de resultados:", "Búsquedas relacionadas", "de aproximadamente","de", "to"," Resultados","traducir","juegos","compras");
//Hebrew
dict_res["he"]	= new Array(
"אינטרנט", 
"תמונות", 
"וידאו", 
"חדשות",
"חיפוש",
"חיפוש",
"דף תוצאות:",
"תוצאות קשורות",
"מתוך בערך",
"בעבור",
"עד",
"תוצאות",
"תרגום",
"משחקים",
"קניות");
//Arabic
dict_res["ar"]	= new Array(
"ويب", 
"صور",
"فيديو",
"الأخبار",
"البحث",
"البحث",
"صفحة النتائج:",
"مقترحة",
"حوالي",
"من أجل",
"إلى",
"النتائج",
"ترجمة" ,
"الالعاب",
"التسوق");

var dict_res_err  	= new Array();
var dict_res_err_ids  	= ['suggestions','make_sure','try_different','try_more','try_fewer']
dict_res_err["en"]	= new Array("Suggestions","Make sure all the words are spelled correctly", "Try different keywords", "Try more general keywords", 
						"Try fewer keywords");
dict_res_err["fr"]	= new Array("Make sure", "Essayez d'autres mots", "Essayez d'autres mots",
		"Essayez d'autres mots plus généraux", "Essayez moins de mots clés", "Suggestions");  
	
function pageLoad_results() {
	try{
		//Language
		var lang_curr = getCookie( "fm_language" );
		set_inner_html_results( lang_curr );
		/*
		if (lang_curr=='he' || lang_curr=='ar'){
			//document.body.className = 'bodyRtl';
			// document.getElementsByTagName('html')[0].style.direction = 'rtl';
			//document.getElementsByTagName('html')[0].id = 'rtl_';
		}
		*/
		
		var url_parsed = parseUrl( window.location.href );
		set_hidden_input(url_parsed);
		//Pagination
		var pgntnHldr = document.getElementById('pgntnHldr');
		
		if (pgntnHldr) {
			initPgntn(pgntnHldr,url_parsed);
			var dvdrText_wrapper = document.getElementById('dvdrText_wrapper');
			if (dvdrText_wrapper) dvdrText_wrapper.style.display = 'inline';
		} 
		
		//Set chsn cat for mid-page horizontal divider
		var elm_cat = document.getElementById('inner_cat_header');
		var srchCat	= document.getElementById('srchCat');
		var spans	= srchCat.getElementsByTagName('span');
		for (var i=0; i < spans.length ; i ++){
			if (spans[i].className.indexOf('chsn')!=-1){
				elm_cat.innerHTML = spans[i].innerHTML;	
			}
		}
		//Focus on seach box
		document.getElementById('s').focus();
	}catch(e){showAlert(e.message);}
}
function set_inner_html_results( lang_curr ) {
	try{
		var tagID, termText, tagElm;
		for(i = 0; i < dict_res_ids.length; i++) {
			tagID 	 = dict_res_ids[i];
			termText = dict_res[lang_curr][i];
			replaceText( tagID, termText );
			tagElm = document.getElementById(tagID);
			if (tagElm)	tagElm.style.display = "inline-block";
		}
		//Check if error screen - english only for now
		/*
		if (document.getElementById(dict_res_err_ids[0])){
			for(i = 0; i < dict_res_err_ids.length; i++) {
				tagID 	 = dict_res_err_ids[i];
				termText = dict_res_err['en'][i];
				replaceText( tagID, termText );
			}
		}
		*/
	}catch(e){showAlert(e.message);}
}

function initPgntn(pgntnElm,urlObj){
	try{
		var max_count = document.getElementById('max-count');
		if (max_count) {
			var max_results = max_count.innerHTML; 
			max_count.innerHTML= addCommas(max_count.innerHTML);
		}
		var resPerPage 	= 20;
		var maxPageDisp = 10;
		var count 		= document.getElementById('results-count');
		var start 		= document.getElementById('results-start');
		var end 		= document.getElementById('results-end');
		var start_disp 	= document.getElementById('results-start-display');
		var end_disp 	= document.getElementById('results-end-display');
		var start_disp_int = 1;
		
		if (urlObj.start) start_disp_int = parseInt(urlObj.start);
		
		start_disp.innerHTML = start_disp_int;
		if (start_disp_int + resPerPage < parseInt (count.innerHTML)){
			end_disp.innerHTML = start_disp_int + resPerPage;
		}else {
			end_disp.innerHTML = count.innerHTML;
		}	
		var pageNum 	= Math.ceil(count.innerHTML / resPerPage);
		var currPage	= Math.ceil(start_disp_int / resPerPage);
		var lastPage	= Math.ceil(end.innerHTML / resPerPage);
		if (pageNum>1){
			var pagination_wrapper = document.getElementById('pagination_wrapper');
			if (pagination_wrapper) pagination_wrapper.style.display = 'block';
		}
		if (currPage>1){
			createPgItem(false,'Prev',pgntnElm,currPage-1);
		}
		for (var i=1;i<=pageNum  && i<11;i++){
			var isCurr = (i==currPage);
			createPgItem(isCurr,i,pgntnElm,i);
		} 
		
		if (currPage < pageNum){
			createPgItem(false,'Next',pgntnElm,currPage+1);
		}
	} catch(e){
		if (debugMode) alert(e.message);
	}
}
function createPgItem (isCurr,innerText,parentElm,pointingTo){
	try{
		var is_ie = /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
		var tmp = document.createElement('div');
		tmp.className = 'pgntnItem';
		if (isCurr){
			tmp.className += ' pgntnItemChsn';
		}
		tmp.className += ' pt'+pointingTo;
		tmp.innerHTML = innerText;
		parentElm.appendChild(tmp);
		if (is_ie){
			tmp.attachEvent('onclick',function(e){pgntnClick(e.srcElement);});
		} else {
			tmp.setAttribute('onclick','pgntnClick(this);');
		}
	} catch(e){
		if (debugMode) alert(e.message);
	}
}
function pgntnClick (elm){
	try{
		var clsStr=elm.className;
		if (/pgntnItemChsn/.test(clsStr)){
			return false;
		}
		targetPg = strTrim(clsStr.substring(clsStr.indexOf('pt')+2));
		document.getElementById('start').value = (targetPg-1)*20 + 1;
		var srchQuery= document.getElementById('s').value;
		if (srchQuery!==''){
			document.getElementById('srchFrm').submit();
		}
	} catch(e){
		if (debugMode) alert(e.message);
	}
}
function addCommas(nStr)
{
	try{
		nStr += '';
		x = nStr.split('.');
		x1 = x[0];
		x2 = x.length > 1 ? '.' + x[1] : '';
		var rgx = /(\d+)(\d{3})/;
		while (rgx.test(x1)) {
			x1 = x1.replace(rgx, '$1' + ',' + '$2');
		}
		return x1 + x2;
	} catch(e){
		if (debugMode) alert(e.message);
	}
}
function catClick_results(elm){
	try{
		if (elm.className=='chsn'){
			return false;
		}
		var srchQuery= document.getElementById('s').value;
		document.getElementById('category').value = String(elm.id).toLowerCase()
		if (srchQuery!==''){
			document.getElementById('srchFrm').submit();
		} else {
			var srchCat= document.getElementById('srchCat');
			var spans=srchCat.getElementsByTagName('span');
			for (var i=0; i < spans.length ; i ++){
				if (spans[i].className.indexOf('chsn')!=-1){
					spans[i].className = '';
				}
			}
			elm.className='chsn';
		}
	} catch(e){
		if (debugMode) alert(e.message);
	}
}
function strTrim(str){
	try{
		return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
	} catch(e){
		if (debugMode) alert(e.message);
	}
}
function rltdClick(elm){
	try{
		document.getElementById('s').value = elm.innerHTML;
		document.getElementById('start').value = '1';
		document.getElementById('srchFrm').submit();
	} catch(e){
		if (debugMode) alert(e.message);
	}
}
function btmSubmit(){
	try{
		if( document.getElementById('s').value != "" ) {
			document.getElementById('s').value = document.getElementById('q').value;
			document.getElementById('srchFrm').submit();
		} else {
			return false;
		}
	} catch(e){
		if (debugMode) alert(e.message);
	}
}
function topSubmit(){
	try{	
		if( document.getElementById('s').value != "" ) {
			document.getElementById('srchFrm').submit();
		} else {
			return false;
		}
	} catch(e){
		if (debugMode) alert(e.message);
	}
}
function _fm_report(str){
	try{	
		if(pageTracker) {
			pageTracker._trackPageview(str);
		}
	} catch(e){
		if (debugMode) alert(e.message);
	}
}
