/**
 * #copyRights: connect.jo < connect information systems >
 * @auther: Ahmed Janim <janim007@gmail.com>
 * @date: 
 * @packege: MatchArabia.com
 * @about:
 */
var setting = {siteurl:"http://www.matcharabia.com/",
               cssimages:"http://www.matcharabia.com/skin/images/"};			  

function __close(obj){
 	$.ajax({
	 type: "POST",
	 url: setting.siteurl + "home/knowClosed/",
	 data: "name=ahmed",
	 success: function (html){		 
		 $(obj).parent().fadeOut();
	 }
	});

}

function setCookie(name,value){
	document.cookie = '=' + value + '; expires=Fri, 27 Jul 2011 02:47:11 UTC; path=/'; 
}

function showChangeImageSetting(obj){	
   var cu = document.getElementById('edit_picture_span').style.display;
   //alert(cu);
    if(cu == 'none' || cu ==''){
		document.getElementById('edit_picture_span').style.display = 'block';
	}else{
		document.getElementById('edit_picture_span').style.display = 'none';
	}
}
function removeChangeImageSetting(obj){
   $("span#edit_picture_span").remove();	
}
var current_url = document.location.href;
var current_href= $("a[href='" + current_url + "']");
$(document).ready(function(){$("a[href='" + current_url + "']").parent().addClass('current'); $("a[href='" + current_url + "']").attr("id","active"); });

function confirmDelete(message_id){
 var confirm_it = confirm(lang.confirm_delete_message);
  if(confirm_it){
	  deleteMessage(message_id);
  }
}

function deleteMessage(message_id){
  $.ajax({
			url:  setting.siteurl + "users/messages/delete/",
			type: "POST",
			data: "message_id=" + message_id,
			success: function(html){	
			
			  $("tr#tr_" + message_id).fadeOut("slow");
			  //$("tr#tr_" + message_id).remove();
	            var count = document.getElementById("msgs_count").innerHTML;
	            count = parseInt(count)-1;
	            $("span#msgs_count").html(count);
				$("span#loading_msgs_img").hide();
			 
			},
			beforeSend: function(){
			 $("span#loading_msgs_img").show();	
			}
			 });	
}

function messagesSetting(obj){
	
	var __elements = document.msgs_form;
	if(obj.value == 'all'){
	 for(var i=0; i <= __elements.length-1 ; i++){
		// alert(__elements.elements[i].type);
		 __elements.elements[i].checked = true;
	 }
	}else if(obj.value == 'nothing'){
	   for(var i=0; i <= __elements.length-1 ; i++){
		__elements.elements[i].checked = false;
	   }
	}else if(obj.value == 'read'){
		var newObj = { value:'nothing' };
		messagesSetting(newObj);
	  	for(var i=0; i <= __elements.length-1 ; i++){
			if(__elements.elements[i].id == 0){
              __elements.elements[i].checked = true;
			}
	   }
	}else if(obj.value == 'new'){
	    var newObj = { value:'nothing' };
		messagesSetting(newObj);
	  	for(var i=0; i <= __elements.length-1 ; i++){
			if(__elements.elements[i].id == 1){
              __elements.elements[i].checked = true;
			}
	   }	
	}
}

function deleteSumMessages(){
 var __elements = document.msgs_form;
 for(var i=0; i <= __elements.length-1; i++){
	 if(__elements.elements[i].checked == true){
		deleteMessage(__elements.elements[i].value); 
	 }
 }
}

function markAsRead(message_id){
	var current_status = document.getElementById("hid_" + message_id);
	var val = current_status.value;
	switch(val){
		case '0':
			$.ajax({
			url: setting.siteurl + "users/messages/markAsRead/",
			type: "POST",
			data: "message_id=" + message_id,
			success: function(html){;
			  $("tr#tr_" + message_id).css("background","#FEF7E0");		  
			  document.getElementById("imgRead_" + message_id).src = setting.cssimages + 'mailnew.png';
			  document.getElementById("hid_" + message_id).value = '1';
			}
			});	
     break;
	 case '1':
		   $.ajax({
			url: setting.siteurl + "users/messages/markAsUnRead/",
			type: "POST",
			data: "message_id=" + message_id,
			success: function(html){;
			  $("tr#tr_" + message_id).css("background","#fff");		  
			  document.getElementById("imgRead_" + message_id).src = setting.cssimages + 'mailold.png';
			  document.getElementById("hid_" + message_id).value = '0';
			}
			});
	 break;
	}
}

function readSumMessages(){
 var __elements = document.msgs_form;
 for(var i=0; i <= __elements.length-1; i++){
	 if(__elements.elements[i].checked == true && __elements.elements[i].type == 'checkbox'){
		markAsRead(__elements.elements[i].value); 
	 }
 }
}

function searchAutoComplete(obj){
	$.ajax({
		   url: setting.siteurl + "users/messages/autoCompleteNames/",
		   type: "POST",
		   data: "name=" + obj.value,
		   success: function (html){
			   $("div#autoCompleteDiv").html(html);
			   $("div#autoCompleteDiv").show();
		   }
		   });
}
function assignInto(userID,userName){
	var f = document.new_msg_form;
	var t = f.new_to;
	t.value = userName;
	$("div#autoCompleteDiv").hide();
	f.realMsgTo.value = userID;
}

function checkSendMessage(){
 var f = document.new_msg_form;
 var t = f.new_to;
 var s = f.new_subj;
 var m = f.new_msg;
 var r = f.realMsgTo;
 
  if(r.value == ''){
	 $(t).css("border","1px dotted #D54F1A");
	  if(!document.getElementById('to_error')){
		  $(t).parent().append("<span class='' id='to_error'><br>" + lang.users_messages_new_to + "</span>");
		  return false;
	  }else {
		  $(t).css("border","1px solid #ccc");
		  $("span#to_error").remove();
	  }	  
	  if(m.value == ""){
		$(m).css("border","1px dotted #D54F1A");
		if(!document.getElementById('msg_error')){
		$(m).parent().append("<span class='' id='msg_error'><br>" + lang.user_messages_new_msg + "</span>");
		}
		return false;
	  }else{
		  $(m).css("border","1px solid #ccc");
		  $("span#msg_error").remove();  
	  }
	   if(s.value == ''){
		   var co = confirm(lang.users_messages_new_subject);
		    if(co){
			 f.submit();	
			}else{
			 return false;	
			}
	   }
  }
}




function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { 
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { 
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { 
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}


function checkSendMsgToUser(){
	var f = document.sendMsgToUserFrm;
	var m = f.msg;
	var s = f.subject;
	var u = f.user_id;
	 
	 if(m.value == ''){
		if(!document.getElementById('msg_error')){
		  $(m).parent().append('<p class="inpt_error" id="msg_error">' + lang.users_messages_sendTo_msg_error + '</p>');
		}
		return false;
		}else{
			$("p#msg_error").remove();
		}
	
	 if(s.value == ''){
		if(!confirm(lang.are_you_sure_sending_without_sub)){
			return false;
		}
	 }
	 $.ajax({
			url:  setting.siteurl + "users/messages/sendMsgToUserPost/",
			type: "POST",
			data: "user_id=" + u.value + "&subject=" + s.value + "&msg=" + m.value,
			success: function(html){
			 
				 $("div#send_text").html(lang.users_messages_sendTo_msg_done); 
				 setTimeout("closeAlert();",1500);
			 
			}
			});	 	 
}
function closeAlert(){
 $(document).trigger('close.facebox');	
}


function selectCard(card_id,obj){
  $(obj).parent().parent().find("li").css("border","none");
  $(obj).parent().css("border","2px outset #DC5F27");
  document.cards_frm.card_id.value = card_id;
}

 function checkSendCardToUser(){
	var f = document.cards_frm;
	var c = f.card_id;
	var u = f.user_id;
	 if(c.value == '' || u.value == ''){
		if(!document.getElementById('sendCardError'))
		$(f).append('<span id="sendCardError">'+lang.cant_send_card+'</span>'); 
		return false;
	 }
	 $.ajax({
			url: setting.siteurl + "users/messages/sendCardToUserPost/",
			type: "POST",
			data: "to=" + u.value + "&c=" + c.value,
			success: function(html){			  			  
				 $("span#sendCardError").remove();
				 $(".sendcardpop").html(lang.users_messages_sendTo_card_sent); 
				 setTimeout("closeAlert();",1500);			
			},
			beforeSend: function(){
			     $("div.__content").html("<span class='loading_wait'>" + lang.sending_card_wait + "</span>");	
			}
			});
 }


function confirmedRemoveFromList(obj){	
  var meid = obj.id;
  var uname = obj.rel;
  var cinfirmed = window.confirm(sprintf(lang.remove_freind_confirm,uname));
   if(cinfirmed){
    $.ajax({
	 url: setting.siteurl + 'accounts/removeFriend/' + meid + '/',
	 type: "GET",	 
	 success: function(html){		  
	     $(obj).parent().parent().fadeOut('slow');	  
	 }
	});
   }
}
function confirmedRemoveIgnore(uid,uname,obj){
	var cinfirmed = window.confirm(sprintf(lang.remove_ignore_confirm,uname));
   if(cinfirmed){
    $.ajax({
	 url: setting.siteurl + 'accounts/removeFromIgnored/' + uid + '/',
	 type: "GET",	 
	 success: function(html){	
	   if(html == 'done'){
	     $("tr#ignored_" + obj).fadeOut('slow');
	   }
	 }
	});
   }
}

function checkShare(){
 var f = document.share_frm;
 var s = f.share_subj;
 var e = f.share_email_me;
 var q = f.share_email_f;
 var m = f.share_msg;
 var p = f.shared_profile;
 
 if(s.value == '' || e.value == '' || q.value == '' || m.value == ''){	  
	  if(!document.getElementById('req_error'))
	    $("div.share_profile").append("<div id='req_error' class='req_error'>" + lang.all_fields_are_required + "</div>");
	  
	 return false;
 }else{
	  $("div#req_error").remove();
 }
 
 if(!email_check(e.value) || !email_check(q.value)){
	 	if(!document.getElementById('req_error'))
	    $("div.share_profile").append("<div id='req_error' class='req_error'>" + lang.all_fields_are_required + "</div>");
		return false;
 }
  $.ajax({
		  url: setting.siteurl + "profile/sharePost/" + p.value + "/",
		  type: "POST",
		  data: "share_subj=" + s.value + "&share_email_me=" + e.value + "&share_email_f=" + q.value + "&share_msg=" + m.value + "&shared_profile=" + p.value,
		  success: function(html){
			 $("div.share_profile").html("<div class='success'>" + lang.sharing_mail_done + "</div>");
			 $("div.share_profile").html(html);
			 //setTimeout("closeAlert();",1500);
		  }
		 });
}

function sprintf()
		{
			if (!arguments || arguments.length < 1 || !RegExp)
			{
				return;
			}
			var str = arguments[0];
			var re = /([^%]*)%('.|0|\x20)?(-)?(\d+)?(\.\d+)?(%|b|c|d|u|f|o|s|x|X)(.*)/;
			var a = b = [], numSubstitutions = 0, numMatches = 0;
			while (a = re.exec(str)){
				var leftpart = a[1], pPad = a[2], pJustify = a[3], pMinLength = a[4];
				var pPrecision = a[5], pType = a[6], rightPart = a[7];
				
				//alert(a + '\n' + [a[0], leftpart, pPad, pJustify, pMinLength, pPrecision);

				numMatches++;
				if (pType == '%')
				{
					subst = '%';
				}
				else
				{
					numSubstitutions++;
					if (numSubstitutions >= arguments.length)
					{
						alert('Error! Not enough function arguments (' + (arguments.length - 1) + ', excluding the string)\nfor the number of substitution parameters in string (' + numSubstitutions + ' so far).');
					}
					var param = arguments[numSubstitutions];
					var pad = '';
					       if (pPad && pPad.substr(0,1) == "'") pad = leftpart.substr(1,1);
					  else if (pPad) pad = pPad;
					var justifyRight = true;
					       if (pJustify && pJustify === "-") justifyRight = false;
					var minLength = -1;
					       if (pMinLength) minLength = parseInt(pMinLength);
					var precision = -1;
					       if (pPrecision && pType == 'f') precision = parseInt(pPrecision.substring(1));
					var subst = param;
					       if (pType == 'b') subst = parseInt(param).toString(2);
					  else if (pType == 'c') subst = String.fromCharCode(parseInt(param));
					  else if (pType == 'd') subst = parseInt(param) ? parseInt(param) : 0;
					  else if (pType == 'u') subst = Math.abs(param);
					  else if (pType == 'f') subst = (precision > -1) ? Math.round(parseFloat(param) * Math.pow(10, precision)) / Math.pow(10, precision): parseFloat(param);
					  else if (pType == 'o') subst = parseInt(param).toString(8);
					  else if (pType == 's') subst = param;
					  else if (pType == 'x') subst = ('' + parseInt(param).toString(16)).toLowerCase();
					  else if (pType == 'X') subst = ('' + parseInt(param).toString(16)).toUpperCase();
				}
				str = leftpart + subst + rightPart;
			}
			return str;
		}


// check email 
function email_check(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		  
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		   
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		   
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		   
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		   
		    return false
		 }

 		 return true					
	}

 function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }
  function sendReplay(obj,f){
    var t = f.msg_text;
    var u = f.user_id;
    var s = f.msg_subj;
    var r = f.msg_relay;
    if(t.value == ''){
	t.value = 'يجب كتابة نص الرساله';
	setTimeout("removeText('"+t+"');",1200);
	return false;
    }
    $.ajax({
	url: setting.siteurl + "users/messages/sendMsgToUserPost/",
	data: "user_id=" + u.value + "&subject=" + s.value + "&msg=" + t.value + "&msg_replay=" + r.value,
	type: "POST",
	success: function (html){
		$("div.compose_msg").html('لقد تم ارسال الرد <a href="javascript:;" onclick="document.location.href=\'' + setting.siteurl+'users/messages/inbox/\'">عوده للرسائل الوارده</a>');
	}
	});
  }
  function removeText(t){
   var f = document.compose_form;
   var t = f.msg_text;
   t.value = '';
  }
	
	
	
	
	
	function checkFrm(f){
	for(var i=0; i <= f.length-1; i++){
		/** 
		 * when You want to step out loop
		 */
		if(f[i].type == "hidden") continue; // step out hidden elements
		if(f[i].type == "file") continue;   // step out file elements
	  	if(f[i].name == "") continue;       // step out not named elements
		if(f[i].getAttribute('require') == 'false') continue; // step out elements with require='false' attribute 
		
		if(!document.getElementById('error_' + f[i].name)){
			if(f[i].alt == 'number' && !IsNumeric(f[i].value)){
				  var elementX = findPosX(f[i]);
				  var elementY = findPosY(f[i]) - 35;
				  elementY     = parseInt(elementY);
				  if(!document.getElementById('numbers_div')){
				    jQuery("body").append("<div class='numbers_error' id='numbers_div' style=' top: " + elementY + "px; left: " + elementX + "px; position: absolute; '>Should be number</div>");
				  }else{
					jQuery("div#numbers_div").css("top",elementY);
					jQuery("div#numbers_div").css("left",elementX);
				  }
				  return false;
			  }else{
				 jQuery("div#numbers_div").remove();  
			  }
			  
			  if(f[i].alt == 'email' && !email_check(f[i].value)){
			   var elementX = findPosX(f[i]);
				  var elementY = findPosY(f[i]) - 35;
				  elementY     = parseInt(elementY);
				  if(!document.getElementById('numbers_div')){
				    jQuery(f[i]).parent().append("<div class='numbers_error' id='numbers_div'>يحب وضع صيغة بريد صحيحه</div>");
				   f[i].focus();
				  }else{
					jQuery("div#numbers_div").css("top",elementY);
					jQuery("div#numbers_div").css("left",elementX);
				  }
				  return false;
			  }else{
				 jQuery("div#numbers_div").remove();  
			  }
		  if(f[i].value == ''){
			  
			   jQuery(f[i]).addClass("inpt_error");
			   f[i].focus();
			   if(!document.getElementById('error')) jQuery(f).before("<div id='error' class='error'>You have error(s) in the form</div>");
			   return false;
		  }else{
			  jQuery(f[i]).removeClass("inpt_error");
		  }
		}
	}
	f.submit();
 }
	
	
	
	
	
	
	
	
	
	
	
	
