/*
 *
 */

var OC_JS_VALIDTEXT = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_";
var OC_JS_MSG00 = "Please enter your Email Address.";
var OC_JS_MSG01 = "Invalid Email Address.\nPlease reenter your valid Email Address.";
var OC_JS_MSG02 = "Please enter your Name.";
var OC_JS_MSG03 = "Invalid Name.\nThe following characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\rare not allowed!\n";
var OC_JS_MSG04 = "Invalid Email Address.\nThe following characters\n\r\n\r $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\rare not allowed!\n";
var OC_JS_MSG05 = "Invalid Date.\nPlease reenter 'Begining of last menstrual cycle'.";
var OC_JS_MSG06 = "Luteal phase out of range. Choose between {0} and {1} days.";

jQuery(document).ready(function() {

	var $oc_message = jQuery('#oc_message');
	var $oc_login = jQuery('#oc_login');
	
	if($oc_message)
	{
		$oc_message.show("slow",
			window.setTimeout(
				function() {
					$oc_message.hide("slow",'');
				},
				3000
			)
		);
	}
});

function oc_contactFormSubmit( oc_cmd )
{
	if((document.getElementById("menstrual_cycle_length").value/1)-(document.getElementById("luteal_phase_length").value/1)<10)
	{
		alert_msg = OC_JS_MSG06;
		alert_msg = alert_msg.replace("{0}", 10);
		alert_msg = alert_msg.replace("{1}", (document.getElementById("menstrual_cycle_length").value/1)-10);
		alert(alert_msg);
		return;
	}
	document.getElementById("oc_cmd").value = oc_cmd;
	document.getElementById("oc_contact_form").submit();
}

function oc_contactLinkSubmit( url )
{
	document.getElementById("oc_contact_form").action = url;
	document.getElementById("oc_contact_form").submit();
}

function oc_createProfile()
{
	if( !validate_profile(document.getElementById('oc_user_name'), document.getElementById('oc_user_email')))
		return;
	var cur_date = new Date(document.getElementById('oc_year').value, document.getElementById('oc_month').value-1, document.getElementById('oc_day').value);
	if (cur_date==null)
	{
		alert(OC_JS_MSG05);
		return false;
	}
	
	oc_contactFormSubmit("create_profile");
}

function oc_viewProfile()
{
	jQuery("#overlay").css('display', 'block');
	var $oc_login = jQuery("#oc_login");
	$oc_login.css({visibility: 'visible'});
	$oc_login.fadeTo("slow",1,'');
//	var h = (parseInt($oc_login.css('height'))>0)? 0: 200;
//	$oc_login.animate({height:h}, "slow");
	
}

function oc_loginCancel()
{
	jQuery("#overlay").css('display', 'none');
	var $oc_login = jQuery("#oc_login");
	$oc_login.fadeTo("slow",0,
		function(){
			$oc_login.css({visibility: 'hidden'});
		}
	);
}

function oc_loginSubmit()
{
	if( !validate_profile(document.getElementById('oc_login_name'), document.getElementById('oc_login_email')))
		return;
	document.getElementById("oc_cmd").value = "login_profile";
	document.getElementById("oc_contact_form").submit();
}

function validate_profile(obj_name,obj_email)
{
	if ((obj_name.value==null)||(obj_name.value=="")){
		alert(OC_JS_MSG02);
		obj_name.focus();
		return false;
	}
	if (input_check(obj_name.value)==false){
		alert(OC_JS_MSG03);
		obj_name.value="";
		obj_name.focus();
		return false;
	}
	if ((obj_email.value==null)||(obj_email.value=="")){
		alert(OC_JS_MSG00);
		obj_email.focus();
		return false;
	}
	if (email_check(obj_email.value)==false){
		obj_email.value="";
		obj_email.focus();
		return false;
	}
	
	return true;
}

function checkTextInChars(text, char_set) {

	var len = text.length;
	var chr = ' ';

	for (var i = 0; i < len; i++)
	{
		chr=text.charAt(i);

		if(char_set.indexOf(chr) ==-1)
			return false;
	}

	return true;
}

function input_check(str) {
	if( !checkTextInChars( str, OC_JS_VALIDTEXT ) )
		return false;

	return true;
}

/**
 * DHTML email validation script.
 */
function email_check(str) {

	var email_validate = OC_JS_VALIDTEXT + '@';
	if( !checkTextInChars( str, email_validate ) ) {
		alert(OC_JS_MSG04);
		return false;
	}

	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	var result = true;

	if (str.indexOf(at)==-1){
	   result = false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   result = false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    result = false;
	}

	if (str.indexOf(at,(lat+1))!=-1){
	   result = false;
	}
	
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	   result = false;
	}
	
	if (str.indexOf(dot,(lat+2))==-1){
	   result = false;
	}
	
	if (str.indexOf(" ")!=-1){
	   result = false;
	}

	if( result == false ){
		alert(OC_JS_MSG01);
		return false;
	}
	
	return true;					
}

