var msisdnLength=10; //length of phone number
var operators = 
{
 att: "31002",
 verizon: "31003",
 tmobile: "31004",
 sprint: "31005",
 dobson: "31006",
 nextel: "31007",
 boost: "31009",
 alltel: "31008",
 virgin: "31010"
};
var shortCode = "39668";
var username = "pacific";
var password = "sunwear";
var ret_override = "simplewire";
var baseUrl = "http://mblade.iloopmobile.com/saturn/gateway/webin/https";

function getCarrierId(){return carrierId;}
function getMsisdnId(){return msisdnId;}
function getSubmitId(){return submitId;}
function getAggregatorId(){return aggregatorId;}


function callUrl()
{
	var carrier = $F(getCarrierId());
	var msisdn = $F(getMsisdnId());



	if(carrier.length>0 && msisdn.length==10)
	//if(result)
	{
	
		msisdn = msisdnConvert(msisdn, carrier);
		var operatorId = operatorConvert(carrier);


		var theUrl = baseUrl + '?shortCode=' + shortCode;
		theUrl += '&operatorId='+operatorId;
		theUrl += '&ret_override='+ret_override;
		theUrl += '&msisdn='+msisdn;
		theUrl += '&username='+username;
		theUrl += '&password='+password;
		theUrl += '&message='+message;
		if(isVerizon(carrier))
			theUrl += '&carrier=verizon';
		//	document.write(theUrl);
		var myImage = new Image();
		myImage.src = theUrl;
		
		$(carrierId).disabled = true;
		$(msisdnId).disabled = true;
		$(submitId).disabled = true;
		
		window.setTimeout(showSuccess,1000);
		return true;

	
	}	
 else 
 {
		return false;
	}
	
}

function showSuccess(){
showElement($(block_form),false);
showElement($(block_thanks),true);
}

function operatorConvert(carrier) 
{	
 return operators[carrier];
}

function shouldShowMsisdn()
{		
  //$(getMsisdnId()).value = "";
		//showElement("_block_mobileoptin_num", carrierSelected());
		var carrier = $F(getCarrierId());
				var operator = operatorConvert(carrier);
	//	alert(operator);
}


function showElement(id, show)
{	
	if(show)
		Element.show(id);
	else		
		Element.hide(id);
}

//for web-optIn : if sprint, then need to appended leading 0's to msisdn
function msisdnConvert(msisdn, carrier) 
{	
	//check for Sprint operator on mblox
	if(carrier == "sprint") 
 {
		return "001"+msisdn;   
	}
 else
 {
		return "1"+msisdn;
 }		
}


function carrierSelected()
{	
	if($F(getCarrierId())!="0")
		return true;
	else
		return false;		
}

function validateMsisdnEntry(evt)
{
	//@ validate digits only
	evt = (evt) ? evt : event;
	var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));	

	if (charCode > 31 && (charCode < 48 || charCode > 57)) 
	{		
		return false;
	}	
	if($F(getMsisdnId()).length >= msisdnLength  && charCode > 31) {
		return false;
	}
	return true;
}

function validateMsisdnLength(element)
{		
	if(element.value.length==msisdnLength)
	{
		return true;
	}
	return false;
}

function shouldShowSubmit(element)
{	
	//showElement($(getSubmitId()), validateMsisdnLength(element));	
}


function isVerizon(carrier)
{	
	if(carrier=='verizon')
		return true;
	
	return false;
}

function formCallback(result, form) {
window.status = "valiation callback for form '" + form.id + "': result = " + result;
}


function mobileFormInit(){
	//$(getCarrierId()).onchange = function(){shouldShowMsisdn();}
	//$(getMsisdnId()).onkeyup = function(){shouldShowSubmit(this);}
	$(getMsisdnId()).onkeypress = function(event){return validateMsisdnEntry(event);}

 $(submitId).onclick = function(){
  var valid = new Validation('mobile_form', {immediate : true, onFormValidate : formCallback, onSubmit : false});
  var result = valid.validate();
  if(result){
   callUrl();
  }
 }

	showElement($(block_thanks),false);
}


Validation.addAllThese([
	['validate-phone', 'Your number must be 10 digits', {
		minLength : 10,
		maxLength : 10,
		include : ['validate-digits']
	}]
]);
