if(typeof(Walker) == 'undefined') var Walker = new Object;
function isset(varname){
		return(typeof(window[varname])!='undefined');
}
function requestPageList(type) 
{
	if(type == 'sms')
	{
		d = AJS.loadJSONDoc("smsData");
		d.addCallback(showTicketSMS);
	}
	else
	{
		d = AJS.loadJSONDoc("phoneData");
		d.addCallback(showTicketPhone);
	}
	d.sendReq({json:1});
}

var smsform = 'smsform';
function showTicketSMS(result) 
{
    var word = result["palabra"] ? result['palabra'] : 'CAM';
    // CHECK IT
	if(result['ticket'])
	{
    	var sms_ticket = AJS.SPAN({"class": "redtextMED"}, word +' '+ result["ticket"]);
	}
	else
	{
    	var sms_ticket = AJS.SPAN({"class": "redtextMED"}, word);
        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>';
        AJS.$('smsformcontainer').innerHTML = form;
        AJS.$('layer9').innerHTML = "Envia sms con la palabra ";
	}
	AJS.RCN(AJS.$("span_sms_ticket"), sms_ticket);
	sms_number = result["numero"] ? result["numero"] : '5758';
	sms_number = AJS.SPAN({"class": "redtextMED"}, sms_number);
	AJS.RCN(AJS.$("span_sms_number"), sms_number);
	
	sms_minutes = result["minutes"] ? result["minutes"] : '4';
	sms_minutes = AJS.SPAN({"class": "redtext"}, sms_minutes);
	AJS.RCN(AJS.$("span_sms_minutes"), sms_minutes);
	AJS.$('div_sms_text').style.display='block';
}

var smshelper = {};

smshelper.submit = function(form)
{
    var form = AJS.$(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 theform = AJS.$(form);
	if(theform["inputsmsticket"].value.length < 1){
		AJS.$("error_msg").innerHTML = "Por favor rellene los datos del formulario.<br/>";
		toreturn = false;
	}
	return toreturn;
}

smshelper.gotData = function(meta) 
{
    var theform = AJS.$(smsform);
    var errorContainer = AJS.$("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) 
{
	AJS.$('div_phone_text').style.display='block';
	
	phone_number = AJS.SPAN({"class": "redtextBIG"}, result["numero"]);
	provider = result['provider'];
	
	if(result["ticket"])
	{
		AJS.$('ticket_text').style.display='block';
		AJS.$('noticket_text').style.display='none';
		
		AJS.RCN(AJS.$("span_phone_number_ticket"), phone_number);
		phone_ticket = AJS.SPAN({"class": "redtext"}, result["ticket"]);
		AJS.RCN(AJS.$("span_phone_ticket"), phone_ticket);
		return;
	}
	
	AJS.$('ticket_text').style.display='none';
	AJS.$('noticket_text').style.display='block';
	AJS.$('layer17').style.display='none';
	AJS.$('layer18').style.display='none';
	AJS.RCN(AJS.$("span_phone_number_noticket"), phone_number);
	if(provider == 'CGBILLING') 
	{
		AJS.$('CGPhone').style.display = 'block';
	    AJS.$('layer13').style.display='none';
	    AJS.$('layer14').style.display='none';
	    AJS.$('span_counter').style.display='none';
	    timer = false;
	    return;
	}
	
	counter = 61;
	// timer = setTimeout('timeOut()', 1000);
	if(fixit == false)
		timeOut();
	
}

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

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

var timer, counter, provider;

//

function LC()
{
    return;
}

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;
// }
