// JavaScript Document

function sender1(n){
	if(n.value == 'sender') n.value='';
	//n.style.border = '1px solid blue;';
	//n.style.background = '#fff;';	
}

function sender2(n){
	//n.style.border = '1px solid #000;';
	//n.style.background = '#ccc;';	
	if(n.value == '') n.value='sender';	
}

function tel1(n){
	//n.style.border = '1px solid #000;';
	//n.style.background = '#ccc;';	
	if(n.value == 'tel') n.value='';	
}

function tel2(n){
	//n.style.border = '1px solid #000;';
	//n.style.background = '#ccc;';	
	if(n.value == '') n.value='tel';	
}
function allow(evt){
	var charCode = (evt.which) ? evt.which : event.keyCode
         if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;

         return true;

}

var rqst = httpr();

function send_sms(path, user){
	var reply = document.getElementById('say');
	var f = document.frm_sms;
	var grp = f.tel.value.length;
	var msgs = document.getElementById('smss').innerHTML; 
	//var fl = f.flash.checked == true ? 1 : 0;
	//alert(f.credits.value)
	
	go_thru = get_credits(f.tel.value, msgs, f.credits.value, f.numb.value).split("::");
	if(f.credits.value < 1){
		reply.innerHTML = "<font color=red>Not enough credits</font>";
		alert_dazzling('say');
	}
	else if(go_thru[0] == 1){
		reply.innerHTML = "<font color=red>"+go_thru[1]+"</font>";
		   alert_dazzling('say');
	}
	else if(f.tel.value.length != 12 && f.tel.value.length != 10 && f.tel.value.indexOf('Group:') == -1 && f.tel.value.indexOf('File:') == -1){
		   reply.innerHTML = "<font color=red>Provide the right number!</font>";
		   alert_dazzling('say');
		   f.tel.focus(); 
	}
	else if(isNaN(f.tel.value) && f.tel.value.indexOf('Group:') == -1 && f.tel.value.indexOf('File:') == -1){ 
		   reply.innerHTML = "<font color=red>Only figures for tel. number!</font>";
		   alert_dazzling('say');
		   f.tel.focus(); 
	}
	else if(f.sender.value =="" || f.sender.value =="sender"){ 
		   reply.innerHTML = "<font color=red>The Sender's name please!</font>";
		   alert_dazzling('say');
		   f.sender.focus(); 
	}
	else if(f.msg.value ==""){ 
		   reply.innerHTML = "<font color=red>Your message please!</font>";
		   alert_dazzling('say');
		   f.msg.focus(); 
	}
	else{
    if(rqst != null) {
		var timedout = false;
      rqst.onreadystatechange = function(){
		if(rqst.readyState == 1) {
			 toolong = window.setTimeout( function(){
				if( rqst.readyState == 1 ) {
				  timedout = true;
				  rqst.abort(); // 
				  reply.innerHTML = '<font color=red>Taking too long, send again</font>';
				  f.tel.disabled=false;
				  f.sender.disabled=false;
				  f.msg.disabled=false;
				  f.send.disabled=false;				  
				}
			}, 180000000 );
			reply.innerHTML = "<img src='imgs/loader.gif' /><font color=blue>Please wait ... or <font color=red><a style='cursor:pointer;' onclick='abot()'>Cancel</a></font></font>";
			f.tel.disabled=true;
			f.sender.disabled=true;
			f.msg.disabled=true;
			f.send.disabled=true;
		}		
		if(rqst.readyState == 2) {reply.innerHTML = "<font color=green>Sorting ... </font><img src='imgs/loader.gif' />";}
		if(rqst.readyState == 3) {reply.innerHTML = "<font color=white>Processing ... </font> <img src='imgs/loader.gif' />";}
        if(rqst.readyState == 4 && /^(200|304)$/.test(rqst.status.toString())){
		   window.clearTimeout( toolong );
		   var rep = rqst.responseText;
		   if(rep.indexOf('no session') != -1){
			   reply.innerHTML = "<font color=red>SESSION TIMED OUT</font>";
			   if(confirm("It seems the session timed out, click ok to login again")) window.location = "../";
		       alert_dazzling('say');
		   }
		   else{
            reply.innerHTML = rep; 
			document.getElementById('smss').innerHTML = '0';
			document.getElementById('chars').innerHTML = '0';
			
			f.msg.value=''; f.tel.value='tel';	f.sender.value='sender';
			update_credits(path);
		   }
		    f.tel.disabled=false;  
			f.sender.disabled=false;  
			f.msg.disabled=false; 
			f.send.disabled=false;
        }
		
      }
	  var ran = Math.random();
	  var real_p = path+'tosms'+(user ? '' : "_camp");
      rqst.open('GET', real_p+'.php?msg='+escape(f.msg.value)+'&tel='+f.tel.value+'&name='+f.sender.value+'&relay_user='+f.relayuser.value+'&nu='+ran+'&flash='+f.typ.value+'&credits='+f.credits.value, true);
      rqst.send(null);
    }
   } // all is well
}

function abot(){	
	var f = document.frm_sms;
	rqst.abort(); 
	f.tel.disabled=false;  
	f.sender.disabled=false;  
	f.msg.disabled=false; 
	f.send.disabled=false;	
	document.getElementById('say').innerHTML = 'SEND SMS';
}

function get_credits(numb, msgs, credits, num){
	var ret = '';
	var gp = numb.split(":");
	if(numb.indexOf('Group') != -1 || numb.indexOf('File') != -1){
		if(Number(msgs) * Number(num) > Number(credits)) ret = "1::You only have "+credits+" credit"+(credits > 1 ? "s" : '')+" for the "+msgs+" message"+(msgs > 1 ? "s" : '')+" for every one of the "+num+" numbers in the "+gp[0]+"<br /><span style='font-size:18px;'>You need at least "+ (msgs * num) +" Credits</span>";
		else ret = '';
	}
	else{
		if(Number(msgs) > Number(credits)) ret = "1::You only have "+credits+" credit"+(credits > 1 ? "s" : '')+" for the "+msgs+" message"+(msgs > 1 ? "s" : '')+" <br /><span style='font-size:18px;'>You need at least "+ msgs +" Credits</span>";
		else ret = '';
	}
	return ret;
}
function update_credits(p){
	
	var request = httpr();
	var reply = document.getElementById('credits');
	
    if(request != null) { 
      request.onreadystatechange = function(){
		if(request.readyState == 1) { 
		   reply.innerHTML = "... <img src='imgs/loader.gif' />";
		}
        if(request.readyState == 4 && /^(200|304)$/.test(request.status.toString())){ 
			reply.innerHTML = request.responseText;
			 num = request.responseText.split("(");
			 var rep = request.responseText;
			   if(rep.indexOf('no session') != -1){
				   reply.innerHTML = "<font color=red>SESSION TIMED OUT</font>";
				   if(confirm("It seems the session timed out, click ok to login again")) window.location = "../";
				   alert_dazzling('say');
			   }
			   else{
				reg=new RegExp(",", "g");
				document.frm_sms.credits.value=num[0].replace(reg,'');
			   }
        } 
      }
      request.open('GET', p+'get_credits.php?rand='+Math.random(), true);
      request.send(null);
    }
   
}

function center_it(div){
	if (document.layers) {
        document.layers['top_row'].pageX = document.layers['stats'].document.width/2;
        document.layers['top_row'].pageY = document.layers['stats'].document.height/2;
    }
    else if (document.all) {
       document.all('top_row').style.posLeft = document.all('stats').style.width/2;
       document.all('top_row').style.posTop = document.all('stats').style.height/2;
    }
}

function remove_layer(){
	var layer = document.getElementById('stats');
	layer.style.visibility = 'hidden';
	layer.style.zIndex = '1';
}


function show_results(){
	var reply = document.getElementById('results');
	var f = document.graph_form;
	var dd = f.dte.value.split('-'); 
	var request = httpr();
	if(!f.dte.value){
		reply.innerHTML = '<font color=red>Please provide a date</font>';
		alert_dazzling(reply);
		f.dte.focus();
	}
	else if(isNaN(dd[0]) || isNaN(dd[1]) || isNaN(dd[2])){
		reply.innerHTML = '<font color=red>Please provide a valid date</font>';
		alert_dazzling(reply);
		f.dte.focus();
	}
    else if(request != null) { 
      request.onreadystatechange = function(){
		if(request.readyState == 1) { 
		   reply.innerHTML = "<div style='margin:40px 0;'><img src='imgs/loading.gif' /><br />a moment please</div>";
		}
        if(request.readyState == 4 && /^(200|304)$/.test(request.status.toString())){ 
			reply.innerHTML = request.responseText;
        } 
      }
	  var rn = Math.random();
      request.open('GET', 'chart.php?dte='+f.dte.value+'&ran='+rn, true);
      request.send(null);
    }
	
}
function show_it(usr){ var reply = document.getElementById('image');
	var f = document.graph_form;
	var request = httpr();
	if(request != null) { 
      request.onreadystatechange = function(){
		if(request.readyState == 1) { 
		   reply.innerHTML = "<div style='margin:40px 0;'><img src='imgs/loading.gif' /><br />Loading graph ....</div>";
		}
        if(request.readyState == 4 && /^(200|304)$/.test(request.status.toString())){ 
			reply.innerHTML = request.responseText;
        } 
      }
	  var rn = Math.random();
      request.open('GET', 'pic.php?ran='+rn, true);
      request.send(null);
    }
}
