if(typeof(Walker) == 'undefined') var Walker = new Object;
function isset(varname){
		return(typeof(window[varname])!='undefined');
}
function requestPageList (location) {
    if(location == 'sms') location = 'smsData';
    else location = 'phoneData';
    dojo.xhrPost({
        url:"index.php/"+location,
        preventCache: true,
        content: { json:1 },
        load: function(data,ioargs){
            data = dojo.fromJson(data);
            if(location == "smsData") showTicketSMS(data);
            else showTicketPhone(data);
        }
    });
}



var smsform = 'smsform';
function showTicketSMS(result) 
{
    var word = result["palabra"] ? result['palabra'] : 'CAM';
    // CHECK IT
	if(result['ticket'])
	{
    	var sms_ticket = '<span class="redtextMED">'+ word +' '+ result["ticket"]+'</span>';
	}
	else
	{
    	var sms_ticket = '<span class="redtextMED">'+ word +'</span>';
        var form = '<form id="smsform" name="'+ smsform +'" onsubmit="return smshelper.submit(\'smsform\');">';
        form += '<label for="inputsmsticket">escribe aquí tu codigo:</label>';
        form += '<input type="hidden" name="r" value="'+ r +'"/>'; 
        form += '<input name="code" id="inputsmsticket" type="text" onFocus="clearText(this);highlight(event)" size="18">';
        form += '<input value="entrar" type="submit" id="smssubmit"/></form>';
        dojo.byId('smsformcontainer').innerHTML = form;
        dojo.byId('layer9').innerHTML = "Envia sms con la palabra ";
	}
	dojo.byId("span_sms_ticket").innerHTML = sms_ticket;
	sms_number = result["numero"] ? result["numero"] : '5758';
	sms_number = '<span class="redtextMED">'+sms_number+'</span>';
	dojo.byId("span_sms_number").innerHTML = sms_number;
	
	sms_minutes = result["minutes"] ? result["minutes"] : '4';
	sms_minutes = '<span class="redtext">'+sms_minutes+'</span>';
	dojo.byId("span_sms_minutes").innerHTML =  sms_minutes;
	dojo.style('div_sms_text', 'display', 'block');
}

var smshelper = {};

smshelper.submit = function(form)
{
    var form = dojo.byId(form);
    if(!smshelper.CheckForm(form)) return false;
    var url = 'http://www.server4business.com/tickets/index.php/validate_code';
    url += '?code='+form.code.value+'&r='+r+'&';
    
    features = 'scrollbars=1,resizable=1,menubar=0,toolbar=0,location=0,status=0,top=0,left=0,screenX=0,screenY=0,';
    aw = screen.availWidth;
    ah = screen.availHeight;
    features = features+'width='+(aw-20)+',height='+(ah-38);
    window.open(url, name, features);
    return false;
}

smshelper.CheckForm = function(form){
    var toreturn = true;
    var form = dojo.byId(form);
	if(theform["inputsmsticket"].value.length < 1){
		dojo.byId("error_msg").innerHTML = "Por favor rellene los datos del formulario.<br/>";
		toreturn = false;
	}
	return toreturn;
}

smshelper.gotData = function(meta) 
{
    var theform = dojo.byId(smsform);
    var errorContainer = dojo.byId("error_msg");
	var response = evalTxt(meta.responseText);
	if(response.message == 'success')
    {
        smshelper.openpopup();
    }
    else if(response.message.errnum == 1)
    {
		errorContainer.innerHTML = "Los datos insertados no so correctos<br/>";
	}
	else if(!response.message)
	{
	    errorContainer.innerHTML = "Ha pasado un error, contactanos en videochathelp@gmail.com.";
	}
	else 
	    logDebug('gotData error');
}

smshelper.openpopup =  function(){
    var url = 'http://www.accesocontenidos.com/tickets/index.php/listado';
features = 'scrollbars=1,resizable=1,menubar=0,toolbar=0,location=0,status=0,top=0,left=0,screenX=0,screenY=0,';
aw = screen.availWidth;
ah = screen.availHeight;
features = features+'width='+(aw-20)+',height='+(ah-38);
window.open(url, name, features);
}

smshelper.errorFetchingData = function(err) {
	logDebug("The metadata for MochiKit.Async could not be fetched :(", err);
}
var fixit = false;
function showTicketPhone(result) 
{
    dojo.style('div_phone_text', 'display', 'block');
	phone_number = '<span class="redtextBIG">'+result['numero'] +'</span>';
	provider = result['provider'];
	
	if(result["ticket"])
	{
		dojo.style('ticket_text', 'display', 'block');
		dojo.style('noticket_text', 'display', 'none');
		
		dojo.byId("span_phone_number_ticket").innerHTML = phone_number;
		phone_ticket = '<span class="redtext">'+result['ticket']+'</span>';
		dojo.byId("span_phone_ticket").innerHTML = phone_ticket;
		return;
	}
	
	dojo.style('ticket_text', 'display', 'none');
	dojo.style('noticket_text', 'display', 'block');
	dojo.style('layer17', 'display', 'none');
	dojo.style('layer18', 'display', 'none');
	
	dojo.byId("span_phone_number_noticket").innerHTML = phone_number;
	if(provider == 'CGBILLING') 
	{
		dojo.style('CGPhone', 'display', 'block');
	    dojo.style('layer13', 'display', 'none');
	    dojo.style('layer14', 'display', 'none');
	    dojo.style('span_counter', 'display', 'none');
	    timer = false;
	    return;
	}

	if(result['expire'])
		counter = result['expire'];
	else
		counter = 61;

	if(fixit == false)
		timeOut();
	
}

function timeOut()
{
	fixit = true;
	if(counter == 0)
	{
		dojo.style('layer17', 'display', 'block');
		dojo.style('layer18', 'display', 'block');
		dojo.style('noticket_timeout', 'display', 'block');
		dojo.style('ticket_text', 'display', 'none');
		dojo.style('noticket_text', 'display', 'none');
		
		timer = false;
	}
	else
	{
		counter--;
		counter_html = counter;
		dojo.byId("span_counter").innerHTML = counter_html;
		
		timer = setTimeout('timeOut()', 1000);
	}
	return;
}

function setCounter()
{
	fixit = false;
	if(isset('counter') && counter > 0) return;
	
	requestPageList('phone');
}

var timer, provider;

//

function LC(){
    dojo.style('div_phone_text', 'display', 'none');
    dojo.style('div_phone_calling', 'display', 'block');
    timer2 = setTimeout('restorePhone()', 29000);
}
function restorePhone() {
    dojo.style('div_phone_calling', 'display', 'none');
    dojo.style('div_phone_call_over', 'display', 'block');
}

dojo.query("#div_phone_call_over").onclick(function(){
    baseURL = document.baseURI || document.URL; 
    
    var separator = (baseURL.indexOf('?') > 0) ? '&' : '?';
    var paymentPhone = (baseURL.indexOf('paymentType=phone') > 0) ? '' : separator + 'paymentType=phone';
    document.location = baseURL + paymentPhone;
});

function clearText(thefield){
if (thefield.defaultValue==thefield.value)
thefield.value = ""
displaylimit("document.smsform.ticket","",8)
}

var ns6=document.getElementById&&!document.all

function restrictinput(maxlength,e,placeholder){
if (window.event&&event.srcElement.value.length>=maxlength)
return false
else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
if (pressedkey.test(String.fromCharCode(e.which)))
e.stopPropagation()
}
}

function countlimit(maxlength,e,placeholder){
var theform=eval(placeholder)
var lengthleft=maxlength-theform.value.length
var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
if (window.event||e.target&&e.target==eval(placeholder)){
if (lengthleft<0)
theform.value=theform.value.substring(0,maxlength)
placeholderobj.innerHTML=lengthleft
}
}


function displaylimit(thename, theid, thelimit){
var theform=theid!=""? document.getElementById(theid) : thename
var limit_text='<b><span id="'+theform.toString()+'">'+thelimit+'</span></b> characters remaining on your input limit'
if (document.all||ns6)
//document.write(limit_text)
if (document.all){
eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
}
else if (ns6){
document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true); 
document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true); 
}
}


function submitonce(theform){
if (document.all||document.getElementById){
for (i=0;i<theform.length;i++){
var tempobj=theform.elements[i]
if(tempobj.type.toLowerCase()=="submit")
tempobj.disabled=true
}
}
}

var highlightcolor="lightyellow"

var ns6=document.getElementById&&!document.all
var previous=''
var eventobj

//Regular expression to highlight only form elements
var intended=/INPUT|TEXTAREA|SELECT|OPTION/

//Function to check whether element clicked is form element
function checkel(which){
if (which.style&&intended.test(which.tagName)){
if (ns6&&eventobj.nodeType==3)
eventobj=eventobj.parentNode.parentNode
return true
}
else
return false
}

//Function to highlight form element
function highlight(e){
eventobj=ns6? e.target : event.srcElement
if (previous!=''){
if (checkel(previous))
previous.style.backgroundColor=''
previous=eventobj
if (checkel(eventobj))
eventobj.style.backgroundColor=highlightcolor
}
else{
if (checkel(eventobj))
eventobj.style.backgroundColor=highlightcolor
previous=eventobj
}
}
// Array.prototype.in_array = function(search_term) {
//   var i = this.length;
//   if (i > 0) {
// 	 do {
// 		if (this[i] === search_term) {
// 		   return true;
// 		}
// 	 } while (i--);
//   }
//   return false;
// }
