var stringfragment= '<script[^>]*>([\\S\\s]*?)<\/script>';
var checkguestbookidinsearchlist;
var pagesize = 50;
var enablemenudiv=true;
var enablemenuul = true;

function acsearch(ctrl, e) {

    if (e.keyCode == 13 || ctrl.value != '') {
        var cuid = $('currentuid').value;

        var friends = Bloc.ObjectModel.Friends.GetFriendsByLinq(cuid, 0, 50, ctrl.value, '').value[1];

        if (friends != null && friends.length > 0) {
            friendnames = new Array();
            friendids = new Array();

            for (var i = 0; i < friends.length; i++) {
                friendnames[i] = friends[i].UserName;
                friendids[i] = friends[i].RelatedUserID;
            }

            local.options.array = friendnames;
            local.options.idarray = friendids;
        }
        else if (e.keyCode == 13) {
            getusers();
        }
    }
}

function RedirectUser(str) {
    document.getElementById('inputsearchuser').value = str.innerHTML.trim();
    window.location.href = '../profile/profilenew.rails?Uid=' + str.id; 
}

function inputsearchuser_onkeyup(obj,e)
{
	if (e.keyCode==13 )
	{
	    getusers();
	}

}

function seach_list()
{
    getusers();
}

function getusers()
{
    if ($('inputsearchuser').value.trim()!="")
    {
        searchword = null;
        $('formquicksearch').submit();
        //window.location.href = '../search/quicksearch.rails?UN=' + encodeURI($('inputsearchuser').value);
    }
    else
    {
        return false;
    }
    //OnPaging(0);
}

Event.observe(window,'load',function(){
    if ($('ligbook')!=null)
        InitAjax();
});

function InitAjax()
{
    checkguestbookidinsearchlist=setInterval(checknewguestbook,30000);
}

function checknewguestbook()
{
    var uid=document.getElementById('currentuid').value;
    if (uid!=0 && (document.URL.toLowerCase().lastIndexOf('/groupnews/news2.rails')!=-1))
    {
        var key=$('key').value;
        Bloc.ObjectModel.Guestbook.GetCountNewGuestBookByUserID(uid,key, OnPostCheckGuestBookCallBack);
    }
}

function OnPostCheckGuestBookCallBack(res)
{
    var amymenugb=document.getElementById('agstbook');
    
    if (res.value>0)
    {
        if (res.value>1)
            $(amymenugb).innerHTML=res.value+' Guestbooks entry';
        else
            $(amymenugb).innerHTML='1 Guestbook entry';
        $('ligbook').addClassName('on');
        $('ulmymenu').addClassName('on');
    }
//    else
//    {
//        $('ligbook').removeClassName('on');
//        $('ulmymenu').removeClassName('on');
//    }
}

//function stopautoprocess()
//{
//    if (typeof(checknewimageingallery)!= 'undefined')
//        window.clearInterval(checknewimageingallery);
//        
//    if (typeof(checknewguestbookinguestbook)!= 'undefined')
//        window.clearInterval(checknewguestbookinguestbook);
//        
//    if (typeof(getlastvisitorinprofile)!= 'undefined')
//        window.clearInterval(getlastvisitorinprofile);
//}

function SendInviteMessage()
{
    var inviteemail=$('sendinviteemail').value;
    if (inviteemail.trim()=="")
    {
        $('pmessage').innerHTML="Please input your friend's email";
        $('diverror').show();
        return false;
    }
    
    var inaccurate = /(@.*@)|(..)|(@.)|(.@)|(^.)/;
    var pattern = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;    
    
    if (!(inaccurate.test(inviteemail) && pattern.test(inviteemail))) 
    {
        $('pmessage').innerHTML="Please input the right email";
        $('diverror').show();
        return false;
    }
    var cuid=$('currentuid').value;
    var appid=$('appid').value;
    var key = $('key').value;
    var siteid = $('siteid').value;
    Bloc.ObjectModel.Registration.InviteFriendsInSearchList(appid, cuid, key, inviteemail, siteid, OnPostInviteFriendsInSearchListCallBack);

}

function InviteFriend() {
    var emails = $('uniqueid').getElementsByTagName('input');
    var inaccurate = /(@.*@)|(..)|(@.)|(.@)|(^.)/;
    var pattern = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;    
    
    var cuid=$('currentuid').value;
    var appid=$('appid').value;
    var key = $('key').value;
    var siteid = $('siteid').value;

    for (var i = 0, n = emails.length; i < n; i++) {
        inviteemail = emails[i].value;
        if ((inaccurate.test(inviteemail) && pattern.test(inviteemail))) {
            Bloc.ObjectModel.Registration.InviteFriendsInSearchList(appid, cuid, key, inviteemail, siteid);
        }
        emails[i].value = "";

    }
    $('uniqueid').hide();

    $('uniqueid1').show();


}

function InviteMore() {
    $('uniqueid1').hide();
    $('uniqueid').show();
}


function OnPostInviteFriendsInSearchListCallBack(res)
{
    if (res.value)
    {
        $('sendinviteemail').value="";
        $('okmessageBox').show();
        $('diverror').hide();
    }
    else
    {
        $('pmessage').innerHTML="Try again";
        $('diverror').show();
         $('okmessageBox').hide();
    }
    
    
}


//function addItemToUserList(str) {
//if (str!=undefined)
//{
// //document.getElementById('helpskoletext').innerHTML ='';
// document.getElementById('inputsearchuser').value = str.innerHTML.trim();
// seach_list();
//}

//}





function ShowOnlineFilter()
{
    if ($('divonlinefilter').style.display=="none")
        $('divonlinefilter').show();
    else
        $('divonlinefilter').hide();
}

function SaveOnlineFilter()
{
    var cuid=$('currentuid').value;
    var key=$('key').value;
    
    var fromage=parseInt($('fromage').value,10);
    var toage=parseInt($('toage').value,10);
    var gender=-1;
    
    var stateids="";
    
    if (fromage==-1)
    {
        $('ponlinemessage').innerHTML="Please select from age";
        $('divonlineerror').show();
        return false;
    }
    
    if (toage==-1)
    {
        $('ponlinemessage').innerHTML="Please select to age";
        $('divonlineerror').show();
        return false;
    }
    
    if (fromage>toage)
    {
        $('ponlinemessage').innerHTML="Please select correct from and to age";
        $('divonlineerror').show();
        return false;
    }
    
    if ($('onlinechkmale').checked && $('onlinechkfemale').checked)
    {
        gender=2;
    }
    else if ($('onlinechkmale').checked)
    {
        gender=1;
    }
    else if ($('onlinechkfemale').checked)
    {
        gender=0;
    }
    
    if (gender==-1)
    {
        $('ponlinemessage').innerHTML="Please select correct gender";
        $('divonlineerror').show();
        return false;
    }
    
    var states=$('divonlinestatelist').getElementsByClassName('onlinechkclass');
    for (var i=0,n=states.length;i<n;i++)
    {
        if (states[i].checked)
        {
            if (stateids=="")
            {
                stateids=""+states[i].value;
            }
            else
            {
                stateids+=","+states[i].value;
            }
        }           
    }
    
    if (stateids=="")
    {
        $('ponlinemessage').innerHTML="Please select state";
        $('divonlineerror').show();
        return false;
    }
    
    Bloc.ObjectModel.Profile.SaveOnlineFilter(cuid,key,fromage,toage,gender,stateids, OnPostSaveOnlineFilterCallBack);
    
}

function OnPostSaveOnlineFilterCallBack(res)
{
    if (res.value==null || res.value==false)
    {
        return false;
    }
    $('divonlinefilter').hide();
    RebuildCustomOnlineList();
    
    
}
function RebuildCustomOnlineList()
{
    var cuid=$('currentuid').value;
    var appid=$('appid').value;

    Bloc.ObjectModel.UserObject.GetOnlineListFromCacheForGetCustiomerList(cuid,appid,OnPostGetOnlineListFromCacheForGetCustiomerListCallBack);
}

function OnPostGetOnlineListFromCacheForGetCustiomerListCallBack(res)
{

    if (res.value==null)
    {
        return false;
    }
    strHTML='';
    var buf = [];
    var imgpath=$('profileimage40').value;
    for (var i=0,n=res.value.length;i<n;i++)
    {
        var value=res.value[i];
        strHTML='<li id="user-'+value.FriendID+'" ';
       
	  
        if(value.Gender)
            strHTML+='<a class="male" href="../profile/profile.rails?Uid='+value.FriendID+'">';
        else
            strHTML+='<a class="female" href="../profile/profile.rails?Uid='+value.FriendID+'">';
            strHTML+='<img src="'+value.ProfileImage2+'" alt="'+value.FriendName+'" />';
            strHTML+='<p>'+value.FriendName+'</p>';
        strHTML+='</a>';
        buf.push(strHTML);
    }
    var all = buf.join(""); 
    $('divonlinefilter').hide();
    $('divonlineerror').hide();

    $('ulonlinecustonlist').innerHTML=all;
    
}

function ShowHidemymenuul()
{
    if (enablemenuul)
    {
        enablemenuul=false;
        var element=$('mymenuul');
        var a=$('mymenua');
        
        if(Element.visible(element)) 
        {
            setCookie("Showmenu",'0','','/','','');    
            a.removeClassName("less");
            a.addClassName("more");
            new Effect.BlindUp(element, { duration:0.50,afterFinish:OnFinishShowHideMenuUl  });
        }
        else
        {
            setCookie("Showmenu",'1','','/','','');    
            a.removeClassName("more");
            a.addClassName("less");
            new Effect.BlindDown(element, { duration:0.50,afterFinish:OnFinishShowHideMenuUl  });
        }
    }
}

function OnFinishShowHideMenuUl()
{
    enablemenuul=true;
}

function ShowHideMenuDIV(obj)
{
    if (enablemenudiv)
    {
        enablemenudiv=false;
        var element=$('showhide');
        if(Element.visible(element)) 
        {
            $('h1tabmymenu').removeClassName("tab-hl-open");
            $('h1tabmymenu').addClassName("tab-hl-closed");
            new Effect.BlindUp(element, { duration:0.50,afterFinish:OnFinishShowHideMenuDiv });
        }
        else
        {
            $('h1tabmymenu').removeClassName("tab-hl-closed");
            $('h1tabmymenu').addClassName("tab-hl-open");
            new Effect.BlindDown(element, { duration:0.50,afterFinish:OnFinishShowHideMenuDiv });
        }
    }
}

function OnFinishShowHideMenuDiv()
{
    enablemenudiv=true;
}



Event.observe(window, 'load', loadAccordions, false);
	
function loadAccordions() {

    
    if (document.getElementById('horizontal_container')!=null)
    {
	    document.getElementById('horizontal_container').style.display = 'none';
    	
        RequestServer();
    }
    
}

function RequestServer()
{
    var appid;
    var strjosn;
    var cuid;
    try
    {
        appid = document.getElementById('appid').value;
        cuid=document.getElementById('currentuid').value;
        strjosn = Bloc.ObjectModel.Profile.GetRandomProfileForHeadImageFromCache(appid,cuid,1,4,Alternate);
    }
    catch (e)
    {
        strjosn = '';
    }
    
    return strjosn;
}



function Alternate(infos)
{
    var container = document.getElementById('horizontal_container');

    if (infos == null || infos.value == '')
    {
        container.style.display = 'none';
        return ;
    }
    
    for (var i=1;i<=4;i++)
    {
        var aid= 'aphoto' + i;
        $(aid).hide();
    }
    
    var imgpath = document.getElementById('profileimage40').value;
//    
    for (var i = 0; i < infos.value.length; i++)
    {
        var info=infos.value[i];
        var id = i + 1;
        var photoid = 'photo' + id;
        var aid = 'aphoto' + id;
        
        var img=document.getElementById(aid).getElementsByTagName('img')[0].src=  info.ProfileImage2;
        document.getElementById(aid).style.display='block';
        
        var strHTML="";
        strHTML+='<p class="user">'+info.Firstname+'<span>('+info.Age+')</span></p>';
        strHTML+='<p class="location">'+info.AreaName+'</p>';
        strHTML+='<a href="../profile/profile.rails?Uid='+info.UserID+'">Visit profile</a>';
        strHTML+='<div class="clear"></div>';
        
        $(photoid).update(strHTML);
    }
    
    var topAccordion = new accordion('horizontal_container', {
        classNames : {
	        toggle : 'horizontal_accordion_toggle',
	        toggleActive : 'horizontal_accordion_toggle_active',
	        content : 'horizontal_accordion_content'
        },
        defaultSize : {
	        width : 100
        },
        direction : 'horizontal'
	});
	//	    
    if (container.style.display == 'none')
    {
        container.style.display = '';
    }
    
    window.setTimeout('RequestServer()',30000);
}

function ShowChangeLanguage(obj)
{
    $('langCode').show();
    $(obj).hide();
}

    function getreturnurl()
    {
        $('returnurl').value=$('relurl').value;
        return true;
    }


    /*******************************super mode*******************************************/
  function sendphonenumber()
{
    var phonenum=$('phoneNumber').value;
    var cuid=$('currentuid').value;
    if (phonenum.trim()!="")
        if (isNumber(phonenum))
        {
            var key=$('key').value;
		    Bloc.ObjectModel.Profile.SendMobileVerifyCode(cuid,key,phonenum, OnPostSendMobileVerifyCodeCallBack);
		}
		else
		{
            $('errmsg').innerHTML='You submittet a cellphone number that is not valid.';
            $('errmsg').show();
        }
    else
        $('missphone').show();
}
function OnPostSendMobileVerifyCodeCallBack(res)
{
    if (res.value)
    {
        $('missphone').hide();
        $('receivemsg').show();
        $('errmsg').hide();
    } 
    else
    {
        $('missphone').hide();
        $('errmsg').innerHTML='You submittet a cellphone number that is not valid.';
        $('errmsg').show();
        $('receivemsg').hide();

    }  
}

function isNumber( s ){
    var regu = "^[0-9]+$";
    var re = new RegExp(regu);
    if (s.search(re) != -1)
    {
        return true;
    } 
    else
    {
        return false;
    }
}

function verifymobilecode()
{
    var verifyCode=$('verifyCode').value;
    var cuid = $('currentuid').value;
    var appid = $('appid').value;
    if (verifyCode.trim()!="")
    {
        var key=$('key').value;
        Bloc.ObjectModel.Profile.VerifyMobileCode(appid,cuid, key, verifyCode, OnPostVerifyMobileCodeCallBack);
    }
}
function OnPostVerifyMobileCodeCallBack(res)
{
    if (res.value)
    {
        $('verifymsg').show();
        $('errmsg').hide();
        $('receivemsg').hide();
        $('cellphoneismiss').hide();
        $('buysupermode').show();
    } 
    else
    {
        $('errmsg').innerHTML='Please ensure you have typed the correct verification code.';
        $('errmsg').show();
        $('receivemsg').hide();
        $('verifymsg').hide();

    }  
}

function buysupermode()
{
    var cuid=$('currentuid').value;
    var auto=false;
    if ($('Autosend').checked)
        auto=true;
    else
        auto=false;
    var key=$('key').value;
    Bloc.ObjectModel.Profile.BuySuperMode(cuid,key,auto, OnPostBuySuperModeCallBack);
    
    
}
function OnPostBuySuperModeCallBack(res)
{
    if (res.value)
    {
        $('buysupermode').hide();
        $('lefttime').innerHTML="20 days"
        $('lefttime1').innerHTML="20 days"
        $('supermodelefttime').show();
    } 
}

function stopsupermode()
{
    var cuid=$('currentuid').value;
    var key=$('key').value;
    Bloc.ObjectModel.Profile.StopSuperMode(cuid,key, OnPostStopSuperModeCallBack);
    
}

function OnPostStopSuperModeCallBack(res)
{
    if (res.value)
    {
        $('buysupermode').show();
        $('supermodelefttime').hide();

    }
    
}
/****************************************************************************************/
