//var cnt_init = 0;
/*window.onload = function() {
    initTickerFinder();
    initTickerComparsion();
}*/

function clearSelect(select) {
  for (var i=select.options.length-1; i >= 0; i--) {
    select.remove(i);
  }
}

function createCookie(name,value,days) {
        if (days) {
                var date = new Date();
                date.setTime(date.getTime()+(days*24*60*60*1000));
                var expires = "; expires="+date.toGMTString();
        }
        else var expires = "";
        document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for(var i=0;i < ca.length;i++) {
                var c = ca[i];
                while (c.charAt(0)==' ') c = c.substring(1,c.length);
                if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
        }
        return null;
}

function eraseCookie(name) {
        createCookie(name,"",-1);
}

function isDefined(variable) {
  return (!(!(variable||false)))
}

function URLEncode(clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
        output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}

function hideElement(id) {
   document.getElementById(id).style.display = 'none';
}

function changeActiveTab(selTab,tabUl,style) {
   var ul = document.getElementById(tabUl);
   
   if(ul.getElementsByTagName('li').length == 0)
     return false;

   for(var i=0; (li = ul.getElementsByTagName("li")[i]); i++) {
       if(li.id == '')
         continue;

       if(li.id == selTab) {
       	   if(ui=='markets') {
       	   	 pre='index';
       	   }
       	   else {
       	   	 pre=ui;
       	   }
           li.className = style;
           document.getElementById(li.id + '-content').style.display = 'block';
           createCookie(pre+'-'+tabUl,selTab,1);
       }
       else {
           li.className = '';
           document.getElementById(li.id + '-content').style.display = 'none';
       }
   }
}

function filterContent(type,module) {
  var id     = 'mediacontent';
  var url    = '/widget/save-settings/' + module + '/?id=' + id;

  var params = 'type=0';

  switch(type) {
    case 'all':  
                   params = 'type=0';
                   break;
    case 'news':  
                   params = 'type=1';
                   break;
    case 'pr':     
                   params = 'type=4';
                   break;
    case 'report': 
                   params = 'type=3';
                   break;
    case 'review': 
                   params = 'type=6';
                   break;
    case 'forecast':  
                   params = 'type=5';
                   break;
  }

  var callback = 
  {
     success: saveWidgetResult,
     argument: [id]
  };

  YAHOO.util.Connect.asyncRequest('POST',url,callback,params);
}

function changemorelink(code){
	var link = document.getElementById("moredeals").href;
	if (link.search("market=") > 0 ){
		//market allready set
		var regexp = /market=\w+/i;
		document.getElementById("moredeals").href = link.replace(regexp, "market="+code);
		return false;
	}
	
	if (link.indexOf('?') > 0 ){
		//some GET params allready set
		link = link.concat("&market="+code);
	} else {
		//GET is empty
		link = link.concat("?market="+code);		
	}
	
	document.getElementById("moredeals").href = link;
	return false;
}

function initTickerFinder() {
		var pSchema                 = ["ticker", "title", "url", "cname", "mcode"];
	    var pDataSource             = new YAHOO.widget.DS_XHR("/quotes/search", pSchema);
	    pDataSource.responseType    = YAHOO.widget.DS_XHR.TYPE_JSON;
	    
	    var apQuotesSearch             = new YAHOO.widget.AutoComplete("quote-search","quotes-autocomplete", pDataSource);
	    apQuotesSearch.minQueryLength  = 1;
	    apQuotesSearch.queryDelay      = 0;
	    apQuotesSearch.delimChar = " ";
	    apQuotesSearch.allowBrowserAutocomplete = false;
	    apQuotesSearch.highlightClassName = 'yui-ac-qs-highlight';
	    
	    apQuotesSearch.formatResult = function(oResultData, sQuery, sResultMatch) { 
	        var aMarkup=["<div class=\"ticker-autocomp\"><span>", oResultData[0] , "</span></div>",
	        			 "<div class=\"company-autocomp\"><span>",oResultData[2] , "</span></div>",
	        			 "<div class=\"market-autocomp\"><span>", oResultData[3] , "</span></div>"];
		    return (aMarkup.join(""));
	    }; 
	                                  
	    var onSelectTickerMarket = function( oSelf , elItem , oData ){
	                                    //window.location = elItem[2][1];
	                                    var input = document.getElementById("quote-search");
	                                    var tmp = input.value;
	                                    tmp += elItem[2][3] + ":" + elItem[2][0] + " ";
	                                    var newval = "";
	                                    var tickers = tmp.split(" ");
	                                    for (var i=0; i<tickers.length; i++){
	                                    	if(tickers[i].indexOf(":") > 0){
	                                    		newval += tickers[i] + " "; 
	                                    	}
	                                    }
	                                    
	                                    //input.value += elItem[2][3] + ":" + elItem[2][0] + " ";
	                                    input.value = newval;
	                                };
	                                                                  
		apQuotesSearch.itemSelectEvent.subscribe(onSelectTickerMarket);
}

function getReports(countries) {
    var country = countries[countries.selectedIndex].value;
    var callback = {
        success: fillReports
    };
    YAHOO.util.Connect.asyncRequest('GET','/macroeconomics/reports/' + country,callback);
}

function fillReports(req) {
  var result = eval('(' + req.responseText + ')');
  clearSelect(document.getElementById('report-format'));

  for (var i=0; i < result.length; i++) {
    document.getElementById('report-format').options[i] = new Option(result[i].name,result[i].val);    
  }
}