$(function(){

    $("ul.dropdown li").hover(function(){
    
        $(this).addClass("hover");
        $('ul:first',this).css('visibility', 'visible');
    
    }, function(){
    
        $(this).removeClass("hover");
        $('ul:first',this).css('visibility', 'hidden');
    
    });
    
    $("ul.dropdown li ul li:has(ul)").find("a:first").append(" &raquo; ");

});
// function to strip out all line breaks.
function strippingEnters(message)
{
	
	
	// use regexp to remove 'return' char on windows platform
	if(message.indexOf("\r\n") == -1){
		
	    var strSingleLineText = message.replace(new RegExp( "\n", "g" ), "\n\r");
	}
	else
	{
		 var strSingleLineText = message.replace(new RegExp( "\n", "g" ), "\n");
	}
	
	return strSingleLineText;

}
function msgCounter( message, charCount){
var maxMsgLen = 0;
var maxMsgLen = 0;
var msgTxt = strippingEnters(message.value);
charCount.value = msgTxt.length;     
msgLimit(message);
if(!unicode(msgTxt))
{
if( (x=(charCount.value)/160)<=1)
  {
   charCount.value=charCount.value +"  = " +"1 رسالة";
  }
     else
    {x=(charCount.value)/153; var remender=(charCount.value)%153;
if(parseInt(x)>0)
        {   if(remender>0){x=x+1;}
        charCount.value=charCount.value +"  = " +parseInt(x)+ " رسالة ";
            }
    } 

}
else
if( (x=(charCount.value)/70)<=1)
  {
   charCount.value=charCount.value +"  = " +" 1 رسالة";
  }
     else
    {x=(charCount.value)/67; var remender=(charCount.value)%67;
if(parseInt(x)>0)
        {   if(remender>0){x=x+1;}
        charCount.value=charCount.value +"  = " +parseInt(x)+ " رسالة ";
            }
    } 
  
}
function unicode(strText) {
	//str = "دجحخهعغفقثصضطكمنتالبيسشظزوةىلارؤءئإلإألأآلآ";
	for (i=0; i<strText.length; i++)
		if (strText.match( /[^\x20-\x7E\t\n\r]+/g ))
		return 1;
		return 0;
}
function setTemplate(Mess,Temp)
{		    
		    sellength = Temp.length;
		    for ( i=0; i<sellength; i++)
		    {
			if (Temp.options[i].selected == true)
			{
			    Mess.value = Temp.options[i].value;
			}
		    }
}
function getElementValue(formElement)
{
	if(formElement.length != null) var type = formElement[0].type;
	if((typeof(type) == 'undefined') || (type == 0)) var type = formElement.type;

	switch(type)
	{
		case 'undefined': return;

		case 'radio':
			for(var x=0; x < formElement.length; x++) 
				if(formElement[x].checked == true)
			return formElement[x].value;

		case 'select-multiple':
			var myArray = new Array();
			for(var x=0; x < formElement.length; x++) 
				if(formElement[x].selected == true)
					myArray[myArray.length] = formElement[x].value;
			return myArray;

		case 'checkbox': return formElement.checked;
	
		default: return formElement.value;
	}
}
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}
function setCheckedValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

function limitText(field) {
if(field.value.match(/^\d+$/))
{
limitNum = 16;
}
else
{
limitNum = 11;
}
if (field.value.length > limitNum) {
		field.value = field.value.substring(0, limitNum);
	} 
}
function countEnters(field) {
var count = 0;
var msg = field;


    for(var i in msg ) {
        
        if( msg[i] == '\n' ) {
            count++;
        }
    }
return count;
    
}

function msgLimit(field)
{
	var count =countEnters(field.value)
	
if(!unicode(field.value))
{
	limitNum = 918;
}
else
{
	limitNum = 402;
}
if(count != '0'){
	
	limitNum = limitNum-count;
}

if (field.value.length > limitNum) 
{
		field.value = field.value.substring(0, limitNum);
} 
}
function TimeOK()
{
  var frm = document.ResaltyForms;
  var timebutt = getCheckedValue(frm.sendtime);
  if(timebutt != "now" && timebutt != "later")
  {
    sfm_show_error_msg('من فضلك قم بإختيار وقت الإرسال');
    return false;
  }
  else
  {
  	if(timebutt == "later")
	{
		if(frm.day.value!="" && frm.month.value!="" && frm.year.value!="" && frm.hour.value!="")
		{ 
		return true;
		}
		else 
		{    
		sfm_show_error_msg('من فضلك قم بإختيار الوقت المحدد');
    	return false;
		}
	}
	else{
		return true;
	}
  }
}
function ToOk()
{
  var frm = document.ResaltyForms;
  var tobutt = getCheckedValue(frm.to);
 
  if(tobutt != "numbers" && tobutt != "group")
  {
    sfm_show_error_msg('من فضلك قم بإختيار نوع المرسل إليه');
    return false;
  }
  else
  {
  	if(tobutt == "numbers")
	{
		if(frm.mobile_number.value.match(/^[0-9,]+$/i) && frm.mobile_number.value!="")
		{ 
		return true;
		}
		else 
		{    
		sfm_show_error_msg('من فضلك قم بإدخال الأرقام بالطريقة الصحيحة مثال : 966551000000,445429999922 ');
    	return false;
		}
	}
	if(tobutt == "group")
	{
		if(getElementValue(frm.groupid)!="")
		{
		return true;	
		}
		else
		{
		sfm_show_error_msg('من فضلك قم بإختيار مجموعة لكي يتم الإرسال إليها');
    	return false;	
		}	
	}
  }
}
function DoCustomValidation()
{
  var frm = document.forms["ResaltyForms"];
  if(false == TimeOK())
  {
    return false;
  }
  else if(false == ToOk())
  {
    return false;
  }
  else
  {
    return true;
  }
}
function Checkall(form){ 
  for (var i = 1; i < form.elements.length; i++){    
    eval("form.elements[" + i + "].checked = form.elements[0].checked");  
  } 
} 
function changeAction(formId,toWhat){
    document.getElementById(formId).action = toWhat;
}
/*
function ValidatMsg(FormName,InputName,error,right,ToWhat)
{
	var n=document.getElementsByName(InputName+'[]');
	for (var i=0; i<=n.length; i++) 
	{
		if(n.length <= 1)
		{
			var check=document.getElementById(InputName).checked
		}else	
		{
			var check=document.forms[FormName][i].checked;
		}
		
		if(check == true)
		{
			$("#errorbox2").hide();
			if(ToWhat == "delete")
			{
				confirm(right,'',FormName);
			}else
			{
				document.getElementById(FormName).action =ToWhat;
				document.getElementById(FormName).submit();
			}
			return ;
		}else
		{
			$("#errorbox2").text(error).show('slow');
		}
	}
}
*/
function ValidatMsg(FormName,InputName,error,right,ToWhat)
{
	var n=document.getElementsByName(InputName+'[]');
	for (var i=0; i<=n.length; i++) 
	{
		if(n.length <= 1)
		{
			var check=document.getElementById(InputName).checked
		}else	
		{
			var check=document.forms[FormName][i].checked;
		}
		if(check == true)
		{
			var CheckOk=1;	
			break; ;
		}else
		{
			var CheckOk=0;	
		}
	}
	if(CheckOk == 1)
	{
		$("#errorbox2").hide();
		if(ToWhat == "delete")
		{
			confirm(right,'',FormName);
		}else
		{
			document.getElementById(FormName).action =ToWhat;
			document.getElementById(FormName).submit();
		}
	}else
	{
		$("#errorbox2").text(error).show('slow');
	}
	
}

// Date validation for sending schedule sms

// IMPORTANT: this function depend on specific input ids on the tpl pages (GROUPSMS and FASTSMS)
// so that you can't call it from another pages ... unless you define the same input ids

function ValidateDate(error1,error2,error3)
{
	// here i will increment server month by one
	var curr_month = serverdate.getMonth() + 1;
			
	// format correct month -> in case of double digit || one digit
	// to be compared correctely with the js date object.
	if(curr_month == 10 || curr_month == 11 || curr_month == 12)
	{
		final_curr_month = curr_month;
	}
	else
	{
		final_curr_month = '0' + curr_month;
	}
	
	// init today date and user date to be compared
	var todaydate = serverdate.getFullYear() + '/' + final_curr_month + '/' + padlength(serverdate.getDate());
	var newdate=$('#senddate').val();
	
	// case of submiting un complete required fields
	if(($('#senddate').val == "" )||($('#hour').val() == "" ) || ($('#min').val() == "" ))
	{
		$('#lbl_time').html(error1);
		return false;
	}
	
	if(Date.parse(newdate) < Date.parse(todaydate)) // case user date less than today
	{	
		$('#lbl_time').html(error2);
		return false;
	}
	
	if(Date.parse(newdate) == Date.parse(todaydate)) // case dates are equal
	{
		//var TimeNow = (parseInt(serverdate.getHours() *60 ) + parseInt(serverdate.getMinutes()));
		//var TimeClient = (parseInt($('#hour').val()*60) + parseInt($('#min').val()));
		
		var srvrHour = serverdate.getHours();
		var usrHour = $('#hour').val();
		
		if(srvrHour > usrHour) // case user hour less than server time
		{
			$('#lbl_time').html(error3);
			return false;
		}
		else if(srvrHour == usrHour) // case equal hours
		{
			var srvrMins = serverdate.getMinutes();
			var usrMins = $('#min').val();
			
			if(srvrMins >= usrMins) // case user minutes less or equal server minutes
			{
				$('#lbl_time').html(error3);
				return false;
			}
			else // case user minutes over server minutes
			{	
				return true;
			}
		}
		else // case user time over server hours
		{
			return true;
		}
	}
	
	if(Date.parse(newdate) > Date.parse(todaydate)) // case user date is over today
	{
		return true;	
	}
}
