﻿
	//global definition
     var flashplayer_version_required="10.0.0.0"; 
     function hasRequiredPlayer()
     {
         return swfobject.hasFlashPlayerVersion(flashplayer_version_required);
     }

 	function xmlAjaxCallError()
 	{
 		alert('Error loading XML document.');
 	}
 	function jsonAjaxCallError()
 	{
 		alert('Error loading Json document.');
 	}
    function requireLogin()
    {
    	$("#loginErrorMessageDiv").text("* You are not sign in");
		showLoginDiv();
    }
    
    function showLoading(container)
    {
		return true;
   	    var w=$(container).width();
        var h=$(container).height();
        var id=$(container).attr("id")+"_loading";
		/*
     	$('<div class="loadingDiv" style="position:relative;z-index:8000"><div id="'+id+'"></div></div>').appendTo(container)
 			.css({"left":(w/2-25)+"px","top":(-h / 2 - 25)+"px","width":w+"px","height":h+"px"});
		*/
		var att = { data:"http://video.talfazat-art.com/talfazatart/flex/loading.swf", width:"50", height:"50"}; 
		var par = { wmode:"transparent"}; 
		var myObject = swfobject.createSWF(att, par, id); 
    }
    function hideLoading(container)
    {
		return true;
    	$(container).find(".loadingDiv").remove();				
    }	

    //target is the target div
    //when isModal is true, the popup will be a modal popup
    function openPopup(target,isModal)
    {
        
    }	
	
function showLanguageDiv()
{
    if($("#languageDiv").css("display")!="none")
    {
    	$("#languageDiv").hide("slow");
    	return;
    }
    
	var pos = $("#languageArrow").offset();   
	var width = $("#languageArrow").width(); 

	$("#languageDiv").css( { "left": (pos.left - 70) + "px", "top":(pos.top -40) + "px" });
    $("#languageDiv").show("slow");
}

function showLoginDiv()
{
	$(document).scrollTop(0);	
    //init loginDiv
	var pos = $("#signinLink").offset();   
	var width = $("#signinLink").width(); 
    
	var left=pos.left - 172;
    
	
	$("#loginDiv").css( { "left": (left) + "px", "top":"10px" });
    $("#loginDiv").show("slow",function(){
          if(!$("#login_username").hasClass("instructionText"))
           		$("#login_username").focus();
        });
}

	
		function login()
		{
			var loginFormValidation = new LoginFormValidation();
			var bPass = false;
			var bPass = loginFormValidation.validate();
			if(!bPass)
				 return;
			else
				loginFormValidation.clearValidateResult();
			
			var username =$.trim( $("#login_username").val());
			var password =$.trim( $("#login_password").val());

			 var params=new Object();
			 params.username=username;
			 params.password=password;

			 //showLoading($("#loginDiv"));
			 //showImgLoading($("#loginDiv"));
			 var secureUrl = "secure/login";
			 var proxy=document.getElementById("httpProxy");
			 proxy.send(secureUrl, params, "loginCallback","loginFaultCallback");
		}

function loginFaultCallback(message)
{
	hideLoading($("#loginDiv"));
   alert("Error logincallback:"+message);
}
function loginCallback(result)
{
	//hideLoading($("#loginDiv"));
	switch(result)
	{
		case "loginsuccess":   				// login success
			window.location.reload(true);	
			break;
		case "loginexpired":	  // Trial period has expired, ask relogin
			 $("#loginErrorMessageDiv").text("* You login has expired.");
			break;
		case "loginfailed":					// login failure,invalid password
			 $("#loginErrorMessageDiv").text("* Invalid password");
			break;
		case "logindisabled":  //disabled
		case "loginlocked"://locked
			break;
		case "loginnotfound":
		case "loginnotfoundnoemail":  //username_not_registered
            $("#loginErrorMessageDiv").text("* This username is not registered.");
            $("#loginErrorMessageDiv").show();
			break;
		case "logout":
			window.location.reload(true);						
			break;
	}
}  

function logout()
{
	window.location.href = 'http://video.talfazat-art.com/talfazatart/servlets/logout?logout=external&callback='+window.location.href;
	/*
	$.ajax({
        url:"http://video.talfazat-art.com/talfazatart/servlets/logout",
        cache:false,
        error:xmlAjaxCallError,
        success:logoutCallback
		});
	*/
}

function xmlAjaxCallError(req,stat,err)
{
	alert('Error loading XML document.');
}

function logoutCallback()
{
	window.location.reload(true);
	//loginCallback($(xml).find("result>code").text());
}


function refreshPage(xml){
	window.location.reload(true);
}

function logoutCallback()
{
	window.location.reload(true);	
	//loginCallback($(xml).find("result>code").text());
}
   

function openRegisterForm()
{
	window.open("secure/registerform?popWindow=true","_blank")
}

function openMyAccountForm()
{
	
	window.open("secure/myaccount");
}

function changeLanguage(locale)
{
    $("#languageDiv").hide();
    if('en_US'==locale)
    {
        return;
    }
    var url="servlets/changelocale";
    $.ajax({
    		url: url,
    	    cache: false,
    	    data: "locale="+locale,
    	    dataType: 'xml',
    	    error: xmlAjaxCallError,
    	    success: changeLanguageCallback
        });
}

function changeLanguageCallback(xml)
{
	try
	{
		var strRefresh = $(xml).find("result>data>refresh");
		if(strRefresh!=null && strRefresh.length>0)
		{
			window.location.reload(true);
			return;
		}
	}
	catch (e)
	{
		alert("changeLocaleCallback:  Invalid xml value: '"+xml+"'");
		return;
	}
}

function LoginFormValidation()
{
	this.validate = function(){
		return (this.validateUserName() && this.validatePassword());
	};
	this.clearValidateResult = function(){
		 $("#login_username").removeClass();
		 $("#login_username").addClass("grayInput normalText");

		 $("#login_password").removeClass();
		 $("#login_password").addClass("grayInput normalText");

		 $("#loginErrorMessageDiv").text("");
	};
	this.validateUserName=function(obj,errorObj){
        if(!obj)
            obj = $("#login_username");
        if(!errorObj)
           errorObj = $("#loginErrorMessageDiv");

		var username =$.trim( obj.val());
		var isUserNameError = false;
		var errorMsg="";
		if (username=="")
		{
			errorMsg="* Username is required.";
			isUserNameError = true;
		}
		else if (username.length<4 || username.length>32)
		{
			errorMsg="* The username must be in 4 ~ 32 characters.";
			isUserNameError = true;
		}
	    else
		{
			var objRegExp  = /^[a-zA-Z0-9]+$/i;
			var bValid=objRegExp.test(username);
			if (!bValid)
			{
				var objRegExp  = /(^[a-zA-Z0-9]([a-zA-Z0-9_\-\~\.]*)@([a-zA-Z0-9_\-\.]*)([.][a-zA-Z]{3})$)|(^[a-zA-Z0-9]([a-zA-Z0-9_\-\~\.]*)@([a-zA-Z0-9_\-\.]*)(\.[a-zA-Z]{2,3})(\.[a-zA_Z]{2})*$)/i;
				var bValid=objRegExp.test(username);
				if (!bValid)
				{
					errorMsg="* Please enter a valid username";
					isUserNameError = true;
				}
			}
		}
		if(isUserNameError)
	    {
	    	//obj.removeClass();
			//obj.addClass("errorInput grayText");
			obj.focus();
			errorObj.text(errorMsg);
			errorObj.show();
			return false;
	    }

	    return true;
	
	};
	this.validatePassword=function(){
		var password =$.trim($("#login_password").val());
		if (password=="")
		{
			var errorMsg="* Password is required.";
			//$("#login_password").removeClass();
			//$("#login_password").addClass("errorInput grayText");
			$("#login_password").focus();
			$("#loginErrorMessageDiv").text(errorMsg);
			return false;
		}
		return true;
	}
	
}

function doGlobalSearch()
{
	var keyword=$.trim($("#search_keyword").val());
	if(keyword=="")
		return;

    var pn=$.trim($("#pageNumberText").val());
    if(!pn)
        pn=1;
	window.location.href = "search?pageName=search&text="+keyword+"&pn="+pn+"&ps=24";
}


var _programComponent= new ProgramComponent();
function ProgramComponent()
{
	var cookie_prefix = "alanz_channel_historyprogram_";
	var historyCount=8;
	this.initProgramList=function(programs,target){
		for(var i=0;i<programs.length;i++)
		{
			var program=programs[i];
			var programimage = ""+program.image;
			var htmlDiv = "<div class='programDiv' align='center'>"+
			 "<div class='thumbDiv'><img src='"+programimage+"' class='thumb'><div class='playButtonBg'><div class='playButton'></div></div></div><div class='infoBox'>"+program['name_en_us']+"</div>"
			 +"</div>";

			 $(htmlDiv).appendTo(target);
		}

		$.each($(target).find(".playButton"),function(i,playBtn){
			$(playBtn).hover(function(){ 
	      	   $(this).addClass("playButtonOver");
	         },   
	         function(){     
	      	     $(this).removeClass("playButtonOver");
	         })
	         .click(function(){
		           var program = programs[i];
	               //double bind click event,but here we do navigate, so it's not problem now
	                _programComponent.openProgramDetail(program.id);
	             });
		});
        
	};
   
    this.openProgramDetail = function(pid,ptype){
        var pgname="channel_detail";
        var mt="channel";
        if(ptype)
        {
        	pgname = ptype;
        	mt=ptype;
        }
        window.location.href=mt+"?mt="+mt+"&pageName="+pgname+"&pid="+pid;
    };
    this.addHistory = function(){
        //we only add program to history when user has login
    	
    	  var pid = "";
          var text_en="";
          var text_ar="";
          var text_fr="";
          var pimage = "";
	    	if(!$.cookie(cookie_prefix+pid))//the program doesn't exist in user's cookie
	        {
		    	var currentHistoryPrograms = this.getHistoryProgramList();
		    	if(currentHistoryPrograms.length > 8)
		    	{
		    		//since we only have eight programs for history,now we must delete one
		    		var firstProgram = currentHistoryPrograms.length[0];
		    		var name= cookie_prefix+firstProgram["id"];
		    		$.cookie(name,null);
		    	}
	        	//add current program to cookie
	        	var cookieValue = {"id":pid,"name_en_us":text_en,"name_fr_fr":text_fr,"name_ar_ar":text_ar,"image":pimage};
	        	name=cookie_prefix+pid;
	        	$.cookie(name, JSON.stringify(cookieValue),{expires:1000});
	    	}
		
    };
    
    this.getHistoryProgramList = function(){
        //this method will get all the history programs from cookie 
         var programs=new Array();
         if (document.cookie && document.cookie != '') 
         {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) 
            {
                var cookie = $.trim(cookies[i]);
                
                var name = cookie.substring(0,cookie.indexOf("="));
                // Does this cookie string begin with the name we want?
                if (name.indexOf(cookie_prefix)!=-1)
                {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    programs.push(JSON.parse(cookieValue));
                }
            }
        }
         return programs;
    }
}

	$(document).ready(function(){
		
		//global init
		$("input[type='button']").hover(function(){
			   var oldClass=$(this).attr("class");
			   $(this).attr("overClassName",oldClass+"Over")
               $(this).addClass(oldClass+"Over");
			},function(){
				 $(this).removeClass($(this).attr("overClassName"));
				});

		//$("<div style='width:50px;height:15px;cursor:pointer;cursor:hand;'><img src='http://video.talfazat-art.com/talfazatart/images/branding/closeIcon.png'/>CLOSE</div>").appendTo($("div .popupHeader"))
		$('#closelogin').click(function(){
             $(this).parents("div[type='popup']").hide();
			});
		
		// by reza
				$("#login_username").focus(function(){
					if($(this).val()=='username'||$(this).val()=='اسم المستخدم'){
							$("#login_passwordDisplay").replaceWith($('#login_password'));
							$('#login_password').show();
							$(this).val('');
					}
				});
				
				$('#login_username').keyup(function(e) {
				  if(e.which==13) login();
				});
				
				$('#login_passwordDisplay').keyup(function(e) {
				  if(e.which==13) login();
				});
				
				$('#login_password').keyup(function(e) {
				  if(e.which==13) login();
				});
				
				
				

			  $("#login_passwordDisplay").focus(function(){
					if($(this).val()=='password'){
							$(this).replaceWith($('#login_password'));
							$('#login_password').show();
							$('#login_password').focus();
							$(this).val('');
							$("#login_username").val('');
					}
			  });
		
	 });  
