dojo.require("dojo.dom");
dojo.require("dojo.event.*");
dojo.require("dojo.html");
dojo.require("dojo.io.*");

function analyse_refresh_multi() {
		// Find all of the elements that we need to refresh
        window.refresh_elements_google = getElementsByName_iefix('div', 'google-kei-refresh');
        window.refresh_elements_yahoo = getElementsByName_iefix('div', 'yahoo-kei-refresh');
        window.refresh_elements_msn = getElementsByName_iefix('div', 'msn-kei-refresh');
        window.refresh_elements_ask = getElementsByName_iefix('div', 'ask-kei-refresh');

       if ((! window.refresh_elements_google || window.refresh_elements_google.length == 0 ) && (! window.refresh_elements_yahoo || window.refresh_elements_yahoo.length == 0) && (! window.refresh_elements_msn || window.refresh_elements_msn.length == 0) && (! window.refresh_elements_ask || window.refresh_elements_ask.length == 0)) {
                return;
        }// end if

        var elem_google = window.refresh_elements_google;
        var elem_yahoo = window.refresh_elements_yahoo;
        var elem_msn = window.refresh_elements_msn;
        var elem_ask = window.refresh_elements_ask;

	var engine = readCookie('dbase');
        var url = "/analyse-refresh-multi.php?engine=" + URLEncode(engine);
	if ((elem_google && elem_google.length) || (elem_yahoo && elem_yahoo.length) || (elem_msn && elem_msn.length) || (elem_ask && elem_ask.length)){
		var elem;
		var max_len;
		if (document.cookie.indexOf("analyze_google")){
			elem = elem_google;
			max_len = elem_google.length;
		}// end if
		
		if(document.cookie.indexOf("analyze_yahoo")){
			if (max_len < elem_yahoo.length){
				elem = elem_yahoo;
				max_len = elem_yahoo.length;
			}// end if
		}// end if
		
		if(document.cookie.indexOf("analyze_msn")){
			if (max_len < elem_msn.length){
				elem = elem_msn;
				max_len = elem_msn.length;
			}// end if
		}// end if
		
		if(document.cookie.indexOf("analyze_ask")){
			if (max_len < elem_ask.length){
				elem = elem_ask;
				max_len = elem_ask.length;
			}// end if
		}// end if
		
		if(elem && elem.length) {
			for(var i=0; i<40; i++) {
				if(elem[i] && elem[i].childNodes) {
					var query;
					var searches;
					var qid;
					for(var j=0; j<elem[i].childNodes.length; j++) {
						if(elem[i].childNodes[j].id == 'kei_query'){
							query = elem[i].childNodes[j].value;
							url = url + "&qu[]="+URLEncode(query);
						}
						else if(elem[i].childNodes[j].id == 'kei_searches'){
							searches = elem[i].childNodes[j].value;
							url = url + "&cu[]="+URLEncode(searches);
						}//  end else if
						if (elem[i].childNodes[j].id == 'kei_engine'){
							engine = elem[i].childNodes[j].value;
							//        url = url + "&engine="+URLEncode(engine);
						}
					}// end for
				}// end if
			}// end for
			url = url + "&"+randomString()+"=1";// need to use random string as IE8 caches the url and doesnt work on multiple requests of the same url
		}//end if
		
        dojo.io.bind({
                url:	url,
                handler:	analyse_refresh_load
        });
	}// end if
}// end function


function analyse_refresh_load(type,data,evt) {

        try {
                eval("var results = "+data+";");
        }catch(e) {
                if(window.clearTimeout) {
                        window.clearTimeout(ieFixTimerId);
                }
                ieFixTimerId = window.setTimeout("analyse_refresh_multi();",1500);
                return;
        }

        try{
        	for(var i=0; i<results.length; i++) {
        		if(document.cookie.indexOf("analyze_google")){
					if (results[i] && results[i].google_kei != undefined && results[i].google_kei != "" ) {
						var o_node = dojo.byId('google-occurances-' + results[i].query);
						var kei_node = dojo.byId('google-kei-' + results[i].query);
						if(o_node) {
							o_node.parentNode.innerHTML = results[i]['google_occurances'];
							kei_node.parentNode.innerHTML = results[i]['google_kei'];
						}// end if
					}// end if
        		}// end if
				
				//For yahoo
				if(document.cookie.indexOf("analyze_yahoo")){
					if (results[i] && results[i].yahoo_kei  != undefined && results[i].yahoo_kei !="") {
						var y_occ_node = dojo.byId('yahoo-occurances-' + results[i].query);
						var y_kei_node = dojo.byId('yahoo-kei-' + results[i].query);
						if (y_occ_node){
							y_occ_node.parentNode.innerHTML = results[i]['yahoo_occurances'];
							y_kei_node.parentNode.innerHTML = results[i]['yahoo_kei'];
						}//end if
					}//end if
				}//end if
				
				//For msn
				if(document.cookie.indexOf("analyze_msn")){
					if (results[i] && results[i].msn_kei != undefined && results[i].msn_kei != ""){
						var m_occ_node = dojo.byId('msn-occurances-' + results[i].query);
						var m_kei_node = dojo.byId('msn-kei-' + results[i].query);
						if (m_occ_node){
							m_occ_node.parentNode.innerHTML = results[i]['msn_occurances'];
							m_kei_node.parentNode.innerHTML = results[i]['msn_kei'];
						}//end if
					}//end if
				}//end if
				
				//For ASK
				if(document.cookie.indexOf("analyze_ask")){
					if (results[i] && results[i].ask_kei != undefined && results[i].ask_kei != ""){
						var a_occ_node = dojo.byId('ask-occurances-' + results[i].query);
						var a_kei_node = dojo.byId('ask-kei-' + results[i].query);
						if (a_occ_node){
							a_occ_node.parentNode.innerHTML = results[i]['ask_occurances'];
							a_kei_node.parentNode.innerHTML = results[i]['ask_kei'];
						}//end if
					}//end if
				}// end if
        	}// end for
        }catch(e){
                // Do nothing
        }
        if(window.clearTimeout) {
                window.clearTimeout(ieFixTimerId);
        }
        ieFixTimerId = window.setTimeout("analyse_refresh_multi();",500);
}// end function

// IE 8 doesnt like similar requests, it caches it
function randomString() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 2;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	return randomstring;
}

function getElementsByName_iefix(tag, name) {
	// IE6 doesn't support getElementsByName properly,
	// this is a fix for it, pulled from
	// http://www.dreamincode.net/code/snippet293.htm
	var elem = document.getElementsByTagName(tag);
	var arr = new Array();
	for(i = 0,iarr = 0; i < elem.length; i++) {
		att = elem[i].getAttribute("name");
		if(att == name) {
			arr[iarr] = elem[i];
			iarr++;
		}
	}
	return arr;
}// end function

