// Create the Handlers -- Mainly an IE 6 Fix
var divhandler      = new handleDivTag(null);
var responsehandler = new handleResponse(null);
function redirect(where) {

	window.location = "http://agent2.genesiscommunications.biz/admin/?user=redirect";

}
function checkCheck(name) {
   if (document.getElementById(name).checked) {
      document.getElementById(name).value = "on";
      document.getElementById(name).checked = true;
   } else {
      document.getElementById(name).value   = "off";
      document.getElementById(name).checked = false;
   }
}

function handleResponse(response) {
        var response;
        return response;
}

function handleDivTag(divtag) {
   var divtag;
   return divtag;
}
function createQuery(form) {
   var pairs = new Array();
	for (e=0; e<3; e++) {
		if (e==0) var elements = document.getElementsByTagName("input");
		if (e==1) var elements = document.getElementsByTagName("select");
      if (e==2) var elements = document.getElementsByTagName("textarea");
		//if (e==3) var elements = document.getElementsByTagName("
	//var pairs = new Array();
	  	for (var i = 0; i < elements.length; i++) {
   	   if ((name = elements[i].name) && (value = elements[i].value))
				if (name!="mode") {
					//value = findAndReplace(value,"<","&lt;");
					//value =  findAndReplace(">","&gt;");
  	   		   //pairs.push(name + "=" + encodeURIComponent(value));
					pairs.push(name + "=" + encodeURIComponent(value));

				}
   	}
	}
  	return pairs.join("&");
}
function makeConnection(query,divtag,url,what) {
	var contentType = "application/x-www-form-urlencoded; charset=UTF-8";
	if (window.XMLHttpRequest) {
		var xmlhttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
   	alert('Problem creating the XMLHttpRequest object');
	}
	divhandler.divtag = divtag;
	if (divtag=="listcodes") {

		document.getElementById("listcodes").innerHTML = "<font size=1 color=606060>Loading...</font>";

	}
	xmlhttp.open('POST', url + what, true);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			if (xmlhttp.status == 200) {
				if (window.ActiveXObject) {
					responsehandler.response=xmlhttp.responseXML.xml;
					if (divtag=="loadwin") {
						document.getElementById(divtag).innerHTML = xmlhttp.responseText;

					} else { 
						document.getElementById(divtag).innerHTML = xmlhttp.responseText;

					}
				} else {
					if (divtag=="loadwin") {
						document.getElementById(divtag).innerHTML = xmlhttp.responseText; 
					} else { 
						document.getElementById(divtag).innerHTML = xmlhttp.responseText;
					}
				}
			}
		}
	}
	xmlhttp.setRequestHeader("Content-Type", contentType);
	xmlhttp.send(query);
}

function doAnalyze(code, name, thetable, client, camid) { 
	var query = "";
	makeConnection(query,"listcodes","analyzelistcode.php?code=" + code + "&name=" + name + "&thetable=" + thetable + "&client=" + client + "&camid=" + camid, "");

}

function call(what) {

	if (what=="Ext Stats") { 
		//alert("WILL BE DONE SOON!")
		//alert("TEST");
		window.open('stats');
	} else { 
		var query = createQuery("dialerctl");
		makeConnection(query,"left","ajax.php?mode=",what);
		setTimeout("makeConnection('','menu','fiveo/updateheader.php?mode=','" + what + "');",'1000');
	}
}
function updateHeader() {
	setTimeout("makeConnection('','menu','fiveo/updateheader.php?mode=','main');",'1000');
}

function sort() {} 
function addMember(who) {
	
//	var temp        = document.getElementById('nm' + who).innerHTML;
//	var ospan       = document.createElement("span");
//	document.getElementById('nm' + who).innerHTML  = "";

//	ospan.setAttribute("id","m" + who);
//	ospan.setAttribute("class","members");
//	ospan.setAttribute("onClick","delMember('" + who + "')")
//	ospan.innerHTML = "<center>" + temp + "</center>";

	//ospan.id        = "m" + who;
	//ospan.className = "members"; 
	//ospan.setAttribute("onClick","delMember('" + who + "')");
	//ospan.innerHTML = "<center>" + temp + "</center>";
//	document.getElementById("mems").appendChild(ospan);	
}

//*** Tooltips

var tooltip=function(){
        var id = 'tt';
        var top = 3;
        var left = 3;
        var maxw = 300;
        var speed = 10;
        var timer = 20;
        var endalpha = 95;
        var alpha = 0;
        var tt,t,c,b,h;
        var ie = document.all ? true : false;
        return{
                show:function(v,w){
                        if(tt == null){
                                tt = document.createElement('div');
                                tt.setAttribute('id',id);
                                t = document.createElement('div');
                                t.setAttribute('id',id + 'top');
                                c = document.createElement('div');
                                c.setAttribute('id',id + 'cont');
                                b = document.createElement('div');
                                b.setAttribute('id',id + 'bot');
                                tt.appendChild(t);
                                tt.appendChild(c);
                                tt.appendChild(b);
                                document.body.appendChild(tt);
                                tt.style.opacity = 0;
                                tt.style.filter = 'alpha(opacity=0)';
                                document.onmousemove = this.pos;
                        }
                        tt.style.display = 'block';
                        c.innerHTML = v;
                        tt.style.width = w ? w + 'px' : 'auto';
                        if(!w && ie){
                                t.style.display = 'none';
                                b.style.display = 'none';
                                tt.style.width = tt.offsetWidth;
                                t.style.display = 'block';
                                b.style.display = 'block';
                        }
                        if(tt.offsetWidth > maxw){tt.style.width = maxw + 'px'}
                        h = parseInt(tt.offsetHeight) + top;
                        clearInterval(tt.timer);
                        tt.timer = setInterval(function(){tooltip.fade(1)},timer);
                },
                pos:function(e){
                        var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
                        var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;
                        tt.style.top = (u - h) + 'px';
                        tt.style.left = (l + left) + 'px';
                },
                fade:function(d){
                        var a = alpha;
                        if((a != endalpha && d == 1) || (a != 0 && d == -1)){
                                var i = speed;
                                if(endalpha - a < speed && d == 1){
                                        i = endalpha - a;
                                }else if(alpha < speed && d == -1){
                                        i = a;
                                }
                                alpha = a + (i * d);
                                tt.style.opacity = alpha * .01;
                                tt.style.filter = 'alpha(opacity=' + alpha + ')';
                        }else{
                                clearInterval(tt.timer);
                                if(d == -1){tt.style.display = 'none'}
                        }
                },
                hide:function(){
                        clearInterval(tt.timer);
                        tt.timer = setInterval(function(){tooltip.fade(-1)},timer);
                }
	};
}();

function reCalcCommission() {

        var price      = document.getElementById("price"     ).value;
        var percent    = document.getElementById("percent"   ).value;
        var commission = document.getElementById("commission").value;
        var maxagent   = document.getElementById("maxagent"  ).value;

        document.getElementById("commission").value = Math.round(price * (percent / 100));
        var d = document.getElementById("license");
        d.innerHTML = "<font size=\"1\" color=\"#606060\">$" + Math.round(price * (percent/100) * maxagent);

}


// -------------------------------------------------------------------
// hasOptions(obj)
//  Utility function to determine if a select object has an options array
// -------------------------------------------------------------------
function hasOptions(obj) {
        if (obj!=null && obj.options!=null) { return true; }
        return false;
        }

function selectUnselectMatchingOptions(obj,regex,which,only) {
        if (window.RegExp) {
                if (which == "select") {
                        var selected1=true;
                        var selected2=false;
                        }
                else if (which == "unselect") {
                        var selected1=false;
                        var selected2=true;
                        }
                else {
                        return;
                        }
                var re = new RegExp(regex);
                if (!hasOptions(obj)) { return; }
                for (var i=0; i<obj.options.length; i++) {
                        if (re.test(obj.options[i].text)) {
                                obj.options[i].selected = selected1;
                                }
                        else {
                                if (only == true) {
                                        obj.options[i].selected = selected2;
                                        }
                                }
                        }
                }
        }

function selectMatchingOptions(obj,regex) {
        selectUnselectMatchingOptions(obj,regex,"select",false);
        }
function selectOnlyMatchingOptions(obj,regex) {
        selectUnselectMatchingOptions(obj,regex,"select",true);
        }
function unSelectMatchingOptions(obj,regex) {
        selectUnselectMatchingOptions(obj,regex,"unselect",false);
        }
function doSearch(oEvent) {
        var oSelect  = document.getElementById('theclients');
        var sKeyCode = oEvent.keyCode;
        var sToChar = String.fromCharCode(sKeyCode);
        if(sKeyCode >47 && sKeyCode<91){
                var sNow = new Date().getTime();
                if (oSelect.getAttribute("finder") == null) {
                        oSelect.setAttribute("finder", sToChar.toUpperCase())
                        oSelect.setAttribute("timer", sNow)
                } else if( sNow > parseInt(oSelect.getAttribute("timer"))+2000) { //Rest all;
                        oSelect.setAttribute("finder", sToChar.toUpperCase())
                        oSelect.setAttribute("timer", sNow) //reset timer;
                } else {
                        oSelect.setAttribute("finder", oSelect.getAttribute("finder")+sToChar.toUpperCase())
                        oSelect.setAttribute("timer", sNow); //update timer;
                }
                var sFinder =  oSelect.getAttribute("finder");
                var arrOpt = oSelect.options
                var iLen = arrOpt.length
                for (var i = 0; i < iLen ; i++) {
                        sTest  = arrOpt[i].text;
                        if (sTest.toUpperCase().indexOf(sFinder) == 0) {
                                arrOpt[i].selected = true;
                                break;
                        }
                }
                event.returnValue = false;
        } else{
                //Not a digit;
        }
        //alert("No Available");
}

