﻿// JScript File
var isPageLoad=true;
var isPageChangeLoaded=false;
var isDTLoadedFresh=false;
function valid_email(email)
{
    var pattern= new RegExp(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]+$/);
    return pattern.test(email);
}

function defaultButton(evt,btnID)
{
    var keycode=evt.keyCode||evt.which;
    if (keycode == 13)
    {
        $(btnID).click();
        evt.preventDefault();
    }

}

$.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();var r=/(^[a-zA-Z0-9_.]*)/;
  while(x<c.length){var m=r.exec(c.substr(x));
    if(m!=null && m.length>1 && m[1]!=''){o+=m[1];x+=m[1].length;
    }else{if(c[x]==' ')o+='+';else{var d=c.charCodeAt(x);var h=d.toString(16);
    o+='%'+(h.length<2?'0':'')+h.toUpperCase();}x++;}}return o;},
URLDecode:function(s){var o=s;var binVal,t;var r=/(%[^%]{2})/;
  while((m=r.exec(o))!=null && m.length>1 && m[1]!=''){b=parseInt(m[1].substr(1),16);
  t=String.fromCharCode(b);o=o.replace(m[1],t);}return o;}
});



// PageLoad function
// This function is called when:
// 1. after calling $.historyInit();
// 2. after calling $.historyLoad();
// 3. after pushing "Go Back" button of a browser
function pageload(hash) {
	// hash doesn't contain the first # character.
	
    if(hash) {
	    isPageLoad=false;
	    var query;
	    var sJSON;
	    var isPagingChanged = true;
        sJSON =hash.ReplaceAll("=","\":\"");
	    sJSON = sJSON.ReplaceAll("&", "\",\"");
	    sJSON = "{\"" + sJSON +"\"}"
	    query = $.parseJSON(decodeURIComponent(sJSON));
	    
        if (query["iStart"]!=null)
        {
           if ($.cookie('iDisplayStart')!=null)
           {
                if ($.cookie('iDisplayStart')==query["iStart"])
                   isPagingChanged=false;          
	       }
	       setCookie('iDisplayStart',query["iStart"]);	
	    }
	    else
	       setCookie('iDisplayStart',0);	    
		if (query["p"]=="gallery")
		{
		    setCookie('oType',query["oType"]); setCookie('id',query["id"]); setCookie('sSortBy',query["sSortBy"]);
		    if (query["name"]!=null)
		        setCookie('name',query["name"]);
		    if (query["vType"]!=null)
		        setCookie('vType',query["vType"]);

		    
	            
		    if (isPageChangeLoaded==false)
		    {    

		        if (query["lm"]!=null)
	                    $("#leftMenu").empty(); 
		        if (isPagingChanged==false)
		        {
		            if (query["iStart"]==null)
                    {
		                setCookie('iDisplayStart',0);
		            }
		            else
		            {
		                setCookie('iDisplayStart',query["iStart"]);
		            }
		         }
                
		        if ($("#leftMenu").html()=="")
		        {
		            
		            if (query["oType"]=="ZXC" || query["oType"]=="ZXCP" || query["oType"]=="ZXFGC" || query["oType"]=="ZXS" || query["oType"]=="ZXM" || query["oType"]=="ZXMP")
		            {
	                    loadLeftMenu('pc',true);
	                }
	                else if (query["oType"]=="ZXCGVC" )
	                {
	                    loadLeftMenu('contest'); 
	                    loadGallery(false);
	                }
	                else if(query["oType"]=="ZXVM" || query["oType"]=="ZXVMC" || query["oType"]=="ZXVF" || query["oType"]=="ZXVFC")
	                {
	                    //loadLeftMenu('zsm',true);
	                }
	                else 
	                {
	                    loadLeftMenu('zsm',true);
	                }
		        }
		        else
		        {
		            if (query["oType"]=="ZXS")
		                loadLeftMenu('pc',true);
		           
		            else
                        loadGallery(false);
		        }
		    }
		    else
		    {
		         if ($("#leftMenu").html()=="")
		         {
		            if (query["lm"]!=null)
		               loadLeftMenu('mc',true);
		         }
		    }
		    isPageChangeLoaded=false;
		    		        
		}
		else if (query["p"]=="mimgal")
		{
		    window.location="Contest/MakeItMedia?" +hash;
		}
		else if (query["p"]=="mycom")
		{		    
		    if (isPageChangeLoaded==false)
		    {   
		        loadMyCommunity();
		    }
		    isPageChangeLoaded=false;
		}
		else if (query["p"]=="rw")
		{
		    if (isPageChangeLoaded==false)
		    {    
		    	 if (isPagingChanged==false)
		        {
		            if (query["iStart"]==null)
                    {
		                setCookie('iDisplayStart',0);
		            }
		            else
		            {
		                setCookie('iDisplayStart',query["iStart"]);
		            }
		         }
		        loadLeftMenu('zsm',false,"#mymMyRecruit");  
                loadmyrecruits();
		    }
		    isPageChangeLoaded=false;
		}
		
		else if (query["p"]=="ab")
		{
		    if (isPageChangeLoaded==false)
		    {    
	            if (isPagingChanged==false)
		        {
		            if (query["iStart"]==null)
                    {
		                setCookie('iDisplayStart',0);
		            }
		            else
		            {
		                setCookie('iDisplayStart',query["iStart"]);
		            }
		         }
		        loadLeftMenu('zsm',false,"#mymAddressBook");  
	            if (query["filter"]!=null)
                    loadAddressBook(query["filter"],false);
                else
                    loadAddressBook("ALL",false);
                
		    }
		    isPageChangeLoaded=false;
		}
		else if (query["p"]=="ib")
		{
		   
            
          
            if (query["oType"]!=null)
		        setCookie('oType',query["oType"]);
            if (query["fType"]!=null)
		        setCookie('fType',query["fType"]);
		                        
		    if (isPageChangeLoaded==false)
		    {    
		        if (isPagingChanged==false)
		        {
		            if (query["iStart"]==null)
                    {
		                setCookie('iDisplayStart',0);
		            }
		            else
		            {
		                setCookie('iDisplayStart',query["iStart"]);
		            }
		         }
		        loadLeftMenu('zsm',false,"#myminbox");  
	            loadMyInbox();
		        if (query["oType"]=="msg")
		        {
		            loadMessages();
		            }
		        else if (query["oType"]=="rev")
		        {
		            loadReviews();
		            }
		        else if (query["oType"]=="inv")
		        {
		            loadInvitations();
		            }
                else if (query["oType"]=="mab")
                {
		            if (query["filter"]!=null)
                    loadAddressBook(query["filter"],false);
                    else
                        loadAddressBook("ALL",false);	
		         }            
		        else
		        {
		            loadMessages();
		            }
	                
                
		    }
		    isPageChangeLoaded=false;
		}
		else if (query["p"]=="myfr")
		{
		    loadLeftMenu('zsm',false,"mymFriends");
		    
		    if (query["da"]=="zspot")
		        loadFriendsAllList(false,"#FriendsArea");
		    else if (query["da"]=="mycom")
		        loadFriendsAllList(false,"#contentArea");
		}
		else if (query["p"]=="mysub")
		{
		    loadLeftMenu('zsm',false,"mymSubscribers");
		    if (query["da"]=="zspot")
		        loadSubscribersAllList(false,"#FriendsArea");
            else if (query["da"]=="mycom")
		        loadSubscribersAllList(false,"#contentArea");		        
		}
		else if (query["p"]=="mysubsr")
		{
		    loadLeftMenu('zsm',false,"mymSubscriptions");
		    
		    if (query["da"]=="zspot")
		        loadSubscriptionAllList(false,"#FriendsArea");
            else if (query["da"]=="mycom")
		        loadSubscriptionAllList(false,"#contentArea");		        
		}
		
	}
	else {
		// start page
		var sURL =$.url.attr("source")
		
	   if ($.url.attr("file")=="gallery.aspx" )
	   {
	        setCookie('iDisplayStart',0);
	        loadGallery(false);
	   }
//	   else
//	   {
//	    window.location=sURL;
//	   }
//	

	}
}

String.prototype.ReplaceAll = function(stringToFind,stringToReplace){
var temp = this;
var index = temp.indexOf(stringToFind);
    while(index != -1){
        temp = temp.replace(stringToFind,stringToReplace);
        index = temp.indexOf(stringToFind);
    }
    return temp;
}


$(function(){
	// Initialize history plugin.
	// The callback is called at once by present location.hash. 
	if($.browser.msie) {
	    $.historyInit(pageload, "zingzag");
	    // set onlick event for buttons
	    $("a[rel='history']").live("click",function(){
		    var hash = this.href;
		    hash = hash.replace(/^.*#/, '');
		    // moves to a new page. 
		    // pageload is called at once. 
		    // hash don't contain "#", "?"
		    $.historyLoad(hash);
    		
		    return false;
	    });
	}
	else
	{
	    $.history.init(pageload, "zingzag");
	    // set onlick event for buttons
	    $("a[rel='history']").live("click",function(){
		    var hash = this.href;
		    hash = hash.replace(/^.*#/, '');
		    // moves to a new page. 
		    // pageload is called at once. 
		    // hash don't contain "#", "?"
		    $.history.load(hash);
    		
		    return false;
	    });
	}
});


function PageURLUpdate(value,page)
{

    var sURL="";
    var sAnchor="";
    if ($.url.attr("anchor")==null)
    {
        if (page=="gallery")
        {
            sURL =$.url.attr("source") +"#p=gallery" 
            if ($.cookie('oType')!=null)
                sURL +="&oType=" + $.cookie("oType");
//            if ($.cookie('vType')!=null)
//                sURL +="&vType=" + $.cookie("vType");

            if ($.cookie("id")!=null)
                sURL +="&id=" + $.cookie("id");

            if (value.indexOf('sSortBy')==-1)
            {
                if ($.cookie("sSortBy")!=null)
                    sURL +="&sSortBy=" + $.cookie("sSortBy");
            }
            sURL += "&" + value;
        }
        else if (page=="search")
        {
            sURL =$.url.attr("source") +"#p=gallery"  +"&" + value;
        }
        else if (page=="rw")
        {
            sURL += "&" + value;
        }
        else if (page=="ab")
        {
            sURL += "&" + value;
        }
        else if (page=="ib")
        {
            sURL =$.url.attr("source") +"#p=ib" 
            sURL += "&" + value;
        }
        else if (page =="v")
        {
            sURL =$.url.attr("source");
        }
        
      
    }
    else
    {
        sURL =$.url.attr("source")
        
        var ary=value.split("&");
        var i=0;
        for (i=0; i<ary.length;i++)
        {
            var partialParam;
		    var Pos = -1;

		    Pos  = ary[i].indexOf('=');

		    if (Pos  >-1)
			    partialParam = ary[i].substring(0,Pos+1);
    		
		    Pos = sURL.indexOf(partialParam);

		    if (Pos >-1)
		    {
				    var sURL1 = sURL.substring(0,Pos);
				    var sURL2 ='';
				    var Pos1 = sURL.indexOf('&',Pos+1);
				    if (Pos1 >-1)
					    sURL2 = sURL.substring(Pos1);

				    sURL = sURL1 + ary[i] + sURL2
		    }
		    else
		    {
		        sURL += "&" + ary[i];
		    }
	    }
    }
    if($.browser.msie) {
	    var hash = sURL;
        hash = hash.replace(/^.*#/, '');
        $.historyLoad(hash);
	}
  
    window.location=sURL;
   
}


