﻿function initHeader(){
    $(".HeaderTab").hover(
        function(){ openCategoryBoards(this); },
        function(){ }
    );
    
    $("#Header").hover(
        function() { },
        function() { 
                if (originalCategory != null)
                {
                    openCategoryBoards(originalCategory);
                }
            });
            
    openCategoryBoards( $('.HeaderTab.Selected').get(0) );
}

var originalCategory;
function openCategoryBoards(sender)
{
    if (originalCategory == null)
        originalCategory = $('.HeaderTab.Selected').get(0);
        
    var categoryId = sender.id.replace(/\D/g,'');
    
    if (originalCategory != sender)
    {    
        $(sender).parents('.HeaderTabs').find('.Hover').removeClass('Hover');
        $(sender).addClass('Hover');
        $('#HeaderSectionDividor').addClass('Hover');
        $('#Boards_container').addClass('Hover');
    }
    else
    {
        $('#Header .Hover').removeClass('Hover');
    }
    
    var category = null;
    for(var i = 0; i < categories.length; i++)
        if(categoryId == categories[i].id)
        {
            category = categories[i];
            break;
        }
        
    var target = $("#BoardCategories_container").html('');
    
    if (category != null)
    {
        for(i = 0; i < category.boards.length; i++)
          if (category.boards[i].url.indexOf('http') > -1)
            target.append(
                "<div class='Floater'><a href='" + category.boards[i].url + "' target='_blank'>" + category.boards[i].name + "</a></div>" +
                (i + 1 < category.boards.length ? "<span class='TabContenSeperator Floater'>|</span>" : "")
            );          
          else
            target.append(
                "<div class='Floater'><a href='" + category.boards[i].url + "' target='_top'>" + category.boards[i].name + "</a></div>" +
                (i + 1 < category.boards.length ? "<span class='TabContenSeperator Floater'>|</span>" : "")
            );
    }
    else
    {
//        target.append(
//            "<div class='HomePageCategoryBoards'>" + 
////                "<span>חדש! <a href='" + baseUrl + "a64-he/%D7%9E%D7%94_%D7%94%D7%AA%D7%97%D7%93%D7%A9_%D7%91_madas_.aspx#b1'>חיפוש מודעות על גבי מפה</a></span>" +
//                "<span>חדש! <a href='" + baseUrl + "a64-he/%D7%9E%D7%94_%D7%94%D7%AA%D7%97%D7%93%D7%A9_%D7%91_madas_.aspx#b3'>תצוגת מודעות בלשוניות</a></span>" +
//                "<span>חדש! <a href='" + baseUrl + "a64-he/%D7%9E%D7%94_%D7%94%D7%AA%D7%97%D7%93%D7%A9_%D7%91_madas_.aspx#b4'>ניהול הערותיי האישיות על גבי המודעות</a></span>" +
//            "</div>"
//        );
    }
}

//function ShowLoginBox()
//{
//    var login = $('#LoginBox');
//    
//    if (login.length == 0)
//        login = $(loginBox)
//            .appendTo( $('#Header') );
//    
//    login.slideDown(800);
//}

//function UserLogIn()
//{
//    $(".RightColumnBox.Login").fadeOut(1000,function(){
//      $(".AfterLogin").fadeIn(1000);  
//    })
//}

function SearchBoards()
{
    var searchBoard = $("#SearchBox").val();
    if(searchBoard != "0")
    {
        var searchLocation= $("#locationId").val();
        location.href = searchBoard +"?locationId="+searchLocation;
    }
    else
    {
        alert("חובה לבחור לוח");
    }
}

function ReplaceTextWithIMG(container,src)
{
    $("#"+container).find("h1").remove();
    $("#"+container).append("<img src="+ src +" />");
}
function flashTitle(divId, flash, width, height, text, number)
{
    var so = new SWFObject(baseUrl +"flash/" + flash + ".swf", flash+"_flash",  width, height, "1");
    so.addParam("wmode", "transparent");
    so.addVariable("TitleText", text);
    so.addVariable("TitleNumber", number);
    so.write(divId);
}

function ShowAdditionalArticles()
{
    if($('.AdditionalArticleLinks').is(".Shown"))
        $('.AdditionalArticleLinks').fadeIn().removeClass('Shown');
    else
        $('.AdditionalArticleLinks').fadeOut().addClass('Shown');
}

function closeWindow(sender)
{
    $(sender).parents(".Window").fadeOut('slow');
}

function login(sender, transfer)
{
    $.post(baseUrl + 'Handlers/LogInHandler.ashx',
    {
        email : $('#email').val(),
        password : $('#password').val(),
        submitType : 'LogIn', 
        rememberMe : $("#rememberMe").is(":checked")
    },
    function(data)
    {
        var response = data.split('~');
        if (response[0] == "OK")
        {
            $('#RightColumn .Login').html( $(response[1]).find('.Login').html() );
            if (transfer)
                window.location = transfer;
        }
        else
        {
            displayErrorMessage(data);
        }
    });
}
function forgotPassword(sender)
{
    $.post(baseUrl + 'Handlers/LogInHandler.ashx',
    {
        submitType : "forgotPassword",
        email : $('.Email').val()
    },
    displayErrorMessage);
}

function displayErrorMessage(data)
{
    var errorMessage = $('#errorMessage');
    if (errorMessage.html() != '')
    {
        errorMessage.slideUp('slow', function() { 
            errorMessage
                .html('').html(data)
                .slideDown('slow'); 
        });
    }
    else
    {
        errorMessage
            .css('display', 'none')
            .html('').html(data)
            .slideDown('slow'); 
    }
}

/* autoComplete function s*/
function autoComplete(inputText, parameterId)
{
    $(inputText).autocomplete(
        baseUrl + "Boards/Handlers/ParameterAutoComplete.ashx",
        {
            delay:600,
            minChars:2,
            matchSubset:1,
            matchContains:1,
            cacheLength:10,
            onItemSelect: function(li) { $('#prm' + parameterId).val(findValue(li)); },
            onCharTyped: function(keyCode) { $('#prm' + parameterId).val(''); },
            onFindValue:findValue,
            formatItem:formatItem,
            autoFill:false,
            extraParams: { prmId : parameterId }
        }
    );
}

function findValue(li) {
    if( li == null ) return;
    if( !!li.extra ) var sValue = li.extra[0];
    else var sValue = li.selectValue;
    return sValue;
}

function formatItem(row, i, num, q) {
	return row[0].replace(q, "<b>" + q + "</b>");
}

// add to favorites and set hompage functions :
var urlAddress = window.location.href;
var pageName = "www.madas.co.il"; 
function addToFavorites() 
{ 
        if (window.sidebar) {
        // Mozilla Firefox Bookmark
        window.sidebar.addPanel(pageName, urlAddress,"");
        } else if( window.external ) {
        // IE Favorite
        window.external.AddFavorite( urlAddress, pageName);
        }
        else if(window.opera && window.print) {
        // Opera Hotlist
        return true; }
} 

function closePopUp(sender)
{
    $(sender).parents('.PopUpWindow').slideUp(800, function(){$(this).remove();});
}

function getKeyCode(sender, e)
{
    var code;
	if (!e) var e = window.event;
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;
	
	return code;
}

function checkCharacterValidity(sender, e, regex)
{
    var code = getKeyCode(sender, e);
    if (code == 8 || code == 9 || code == 13 || code == 37 || code == 38 || code == 39 || code == 40 || code == 46)
        return true;

    var character = String.fromCharCode(code);
    var valid = new RegExp(regex).test( character );
    
    return valid;
}

function breakQueryString(value)
{
    var result = {};
    var values = value.split('&');
    for (var i = 0; i < values.length; i++)
    {
        value = values[i].split('=');
        result[ value[0] ] = value[1];
    }
    return result;
}

function buildQueryString(value)
{
    var result = '';
    for (var prop in value)
    {
        result += (prop + '=' +  value[prop] + '&');
    }
    return result.substring(0, result.length - 1);
}

function injectBanner(id)
{
    if (!document.phpAds_used) document.phpAds_used = ',';
    
    phpAds_random = new String (Math.random());
    phpAds_random = phpAds_random.substring(2,11);
    document.write ("<" + "script language='JavaScript' type='text/javascript' src='");
    document.write ("http://madas-ads.securest.org/phpadsnew/adjs.php?n=" + phpAds_random);
    document.write ("&amp;what=zone:" + id);
    document.write ("&amp;exclude=" + document.phpAds_used);
    if (document.referrer)
        document.write ("&amp;referer=" + escape(document.referrer));
    document.write ("'><" + "/script>");
}

function getParameters(sender)
{
	var params = {};
	
	sender
		.find("input[@checked], input[@type='text'], input[@type='hidden'], input[@type='password'], input[@type='submit'], option[@selected], textarea")
		.filter(":enabled")
		.each(function() {
			params[ this.name || this.id || this.parentNode.name || this.parentNode.id ] = this.value;
		});
		
    return params;
}

/* Apply to functions */
function showFormApplyToItem(itemId, senderType, option)
{
    showFormInItem(itemId, senderType, 'ApplyToItem', option);
}

function showFormReportItem(senderType, itemId, option)
{
    showFormInItem(itemId, senderType, 'ReportItem', option);
}

function showFormSendToFriend(senderType, itemId, option)
{
    showFormInItem(itemId, senderType, 'SendToFriend', option);
}

function showFormInItem(itemId, senderType, subviewName, option)
{
    $("#ApplyToItem_container").remove();
    
    $.post(baseUrl + 'Subviews/' + subviewName + '.aspx',
        {
            itemId : itemId,
            senderType : senderType,
            type : subviewName,
            option : option
        },
        function(data)
        {
            switch(senderType)
            {
                case "table" :
                        $("#ItemDetails" + itemId + " .TextLinkRow").append(data);
                    break;
                case "tickets" :
                        $("#Ticket_" + itemId).find(".AdditionalActions").append(data);
                    break;
                case "tab" :
                        $("#ItemDetails" + itemId).html(data);
                    break;
                case "site":
                        $("#PopUpWindows_container").append(data);
                    break;
                case "article":
                        $("#FormContainer").html(data);
                    break;
            }   
            $("#ApplyToItem_container").slideDown(800);
        });
}

function applyToItem(sender, type, senderType)
{
    //var ajaxIndContainer = $("#SendToFriend_Main .Main_Inner");
    var popUp = $("#ApplyToItem_container");
    var params = getParameters(popUp);
    params['type'] = type;
    params['senderType'] = senderType;
    
    if ($(popUp).validateInputs())
    {
        $(sender)
            .attr('disabled', 'disabled')
            .parent().append("<img src='"+ baseUrl +"Images/AjaxIndicatior.gif' /><span>שולח..</span>");
            
        var hasFile = popUp.find('input[type=file]').length > 0;
        
        if (hasFile)
        {
            popUp.find('input[type=file]').ajaxFileSend(
            baseUrl + 'Handlers/ApplyToItemHandler.ashx',
                params,
                function(data)
                {
                    var response = data.split('~');
                    if (response.length > 1)
                        popUp.find(".Main_content").html(response[1]);
                });
        } else {
            $.post(
                baseUrl + 'Handlers/ApplyToItemHandler.ashx',
                params,
                function(data)
                {
                    var response = data.split('~');
                    if (response.length > 1)
                        popUp.find(".Main_content").html(response[1]);
                });
        }
    }    
}

/* ajax file upload */
$.fn.ajaxFileSend = function(url, params, callback) {
    var block = this;
    block.wrap("<form id='filesender' method='post' action='" + url + "' target='filesender' enctype='multipart/form-data' style='font-size:0px;min-height:0px;display:inline;'></form>");
    var filesender = $('#filesender');
    
    $("<iframe id='filesenderiframe' name='filesender'><iframe>")
		.css('display', 'none')
        .appendTo('body');

    $('#filesenderiframe').load(function() {
        var response = $(this).contents().find('body').html();
        callback(response);
        setTimeout(function() {
            $('#filesenderiframe').remove();
            filesender.find('.tempHidden').remove();
            filesender.children().appendTo(filesender.parent());
            filesender.remove();
        }, 1000);
    });
    
    if (params)
        for(var param in params)
            filesender.append("<input type='hidden' name='" + param + "' value='" + params[param] + "' class='tempHidden' />");
    
    $('#filesender').submit();
};