/*******************************************************************************
* Login functions for Ovalpath
* 
**********************************************************************************/
function login_sendCB(mobile,pin)
{
	//alert("login mobile2=" + mobile + " pin=" + pin);
	var error = "empty val";
	//alert("call Ajax request");
	//new Ajax.Request('http://76.74.254.157/wsdb/service.asmx/Verify',
	new Ajax.Request('http://www.ovalpath.com/wsdb/service.asmx/Verify',
        {
        	method: 'get',
        	parameters: { sMobile: mobile, sPin: pin },
        	onSuccess: function(transport) {
        		//alert("onsuccess");
        		var responseID = transport.responseText;
        		//alert("responseID=" + responseID);
        		responseID = responseID.replace('xmlns="http://www.Ovalpath.com/"', '');
        		var DomDoc = Sarissa.getDomDocument();
        		DomDoc = (new DOMParser()).parseFromString(responseID, "text/xml");
        		responseID = DomDoc.lastChild.lastChild.nodeValue;


        		if (responseID == -1) {
        			error = "Phone Number doesn't exist";
        			//alert(" responseID:"+responseID+" -  Phone Number doesn't existt- error("+error+")");         
        			document.getElementById('errorMsg').innerHTML = 'Error: ' + error;
        		}
        		else if (responseID == 0) {
        			error = "Incorrect PIN number";
        			//alert(" responseID:"+responseID+" -  Incorrect PIN numberr - error("+error+")");   
        			document.getElementById('errorMsg').innerHTML = 'Error: ' + error;
        		}
        		else {
        			//alert("Login succes: "+responseID);
        			document.getElementById('phoneID').value = responseID;
        			//alert("set 1");
        			if (readCookie('ovalpath'))
        				document.getElementById('form1').action = 'group.asp';
        			document.getElementById('form1').submit();
        		}
        		return responseID;

        	},
        	onFailure: function() {
        		error = "Web Service Error";
        		//alert("ERROR EN WEBSERVICE");
        		//document.getElementById('errorMsg').innerHTML='Error: '+error;              
        	}
        });       
}

function login(){

	var _mobile= document.getElementById('mobile').value;
        
	var _pin= document.getElementById('pin').value;
        
	login_sendCB(_mobile,_pin);
}
function validarTextoLogin(textfield,e){
	var key;
	var keychar;
	if (window.event)
	   	key=window.event.keyCode;
	else if(e)
	   	key=e.which;
	else
	   	return true
	keychar=String.fromCharCode(key);
	if((key==null)||(key==0)||(key==8)||(key==9)||(key==27))
		return true;
	else if((("0123456789").indexOf(keychar)>-1))
	   	return true;
	else if(key==13){
	    if(noErrors())
	        login();
	    return false;
	}
	return false;
}
function noErrors(){
    if(document.getElementById('mobile').value.length!=10&&document.getElementById('mobile').value.length>0){
        document.getElementById('errorMsg').innerHTML='Error: Mobile number must be 10 digits long.';
        document.getElementById('mobile').focus();    
        return false;        
    }
    if(document.getElementById('mobile').value.length==0){
        document.getElementById('errorMsg').innerHTML='Error: You must input a mobile and PIN number.';
        document.getElementById('mobile').focus();    
        return false;
    }
    if(document.getElementById('pin').value.length==0){
        document.getElementById('errorMsg').innerHTML='Error: You must input a PIN number.';
        document.getElementById('pin').focus();    
        return false;
    }
    return true;
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

/******************************************************************************************/
/*************************** jQuery functions for Login ***********************************/
/******************************************************************************************/

jQuery(function() {
	// link to show the login
	jQuery('a.signIn').click(function(evt) {
	    document.getElementById('errorMsg').innerHTML='';
		jQuery('#login').slideToggle(500);
		
	});
	
	// force any input boxes that have the class 'numeric' to only allow numbers
	jQuery("input.numeric").livequery(function() {
		jQuery(this).numeric();
	}, function() {});
	
	// setup any forms marked with verify to ensure that the form isn't submitted until the required
	// fields have text in them, and that e-mail addresses are valid
	jQuery('form.verify').livequery('submit', function(evt) {
		var id = '#' + this.id;
		
		// clear out all previous errors
		jQuery(id + ' input.required, ' + id + ' input.validEmail').removeClass('error');
		
		var foundErrors = false;
		
		// now grab all of the required items and ensure they aren't empty
		jQuery(id + ' input.required').each(function() {
			if (jQuery.trim(this.value) == '') {
				jQuery(this).addClass('error');
				foundErrors = true;
			}
		});
		jQuery(id + ' select.required').each(function() {
			if (this.selectedIndex < 1) {
				jQuery(this).addClass('error');
				foundErrors = true;
			}
		});
		
		// check all of the emails and ensure they are valid
		jQuery(id + ' input.validEmail').each(function() {
			var regex = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}jQuery/i;
			if (!regex.test(this.value)) {
				jQuery(this).addClass('error');
				foundErrors = true;
			}
		});
		
		// check for confirmation checks
		jQuery(id + ' input[class*=match_]').each(function() {
			var classes = jQuery(this).attr("class").split(" ");
			for (x=0; x < classes.length; x++) {
				var ids = classes[x].split("_");
				if (ids[0] == 'match') {
					// ensure that this value matches the id's value
					if (jQuery('#' + ids[1]).val() != this.value) {
						jQuery(this).addClass('error');
						foundErrors = true;
					}
				}	
			}
		});
		if (foundErrors) {
			evt.preventDefault();
			alert('Please check the highlighted fields for errors and resubmit.');
			return false;
		}
	});
	
	// for the safari browser make buttons change color via images because the buttons don't move at all
	if (jQuery.browser.safari) {
		jQuery("input.button").livequery('mousedown', function(evt) {
			jQuery(this).addClass('buttonPressed');
		}).livequery('mouseup', function(evt) {
			jQuery(this).removeClass('buttonPressed');
		});
		jQuery("a.buttonSm").livequery('mousedown', function(evt) {
			jQuery(this).addClass('buttonPressedSm');
		}).livequery('mouseup', function(evt) {
			jQuery(this).removeClass('buttonPressedSm');
		});
		jQuery('input.buttonDrk').livequery('mousedown', function(evt) {
			jQuery(this).addClass('buttonDrkPressed');
		}).livequery('mouseup', function(evt) {
			jQuery(this).removeClass('buttonDrkPressed');
		});
	}
	
});