﻿// Global JScript File

function AddToFavorites(SiteURL)
{
    if (window.navigator.userAgent.indexOf("Firefox")==-1)
    {//IE
        window.external.AddFavorite(SiteURL, 'in4me - מערכות פרסום באינטרנט');
    }
    else
    {//Firefox
        window.sidebar.addPanel('in4me - מערכות פרסום באינטרנט', SiteURL, "");
    }
}

function SMDivClick(smObject)
{
    if (window.navigator.userAgent.indexOf("Firefox")==-1)
    {
        smObject.childNodes[0].click();
    }
    else
    {
        document.location = smObject.childNodes[1];
    }
}

function Bin4me(action)
{       
    if (action == "over")
    {        
        document.getElementById("Bin4MeBGImg").style.display = "none";
        document.getElementById("Bin4MeOverBG").style.display = "block";
        document.getElementById("Bin4meDiv").className = "Bin4meDivOver";        
    }
    else
    {
        document.getElementById("Bin4MeBGImg").style.display = "block";
        document.getElementById("Bin4MeOverBG").style.display = "none";
        document.getElementById("Bin4meDiv").className = "Bin4meDiv";         
    }
}


//Trim like in VB	
function Trim(str)
	{
	if (str=="")
		{return str;}
	
	while (str.indexOf(" ")==0 && str!="")
		{str = str.slice(1,str.length);}
	while (str.lastIndexOf(" ")==(str.length-1) && str!="")
		{str = str.slice(0,str.length-1);}	
	return str;		
	}
	
//Aborts submit-form when user clicks "enter" in a textbox
function AbortSubmit()
{
    if (window.event.keyCode==13)
    {
        return false;
    }
    else
    {
        return true;
    }
}	

//Assigns Submit: user clicks enter in textbox, the appropriate button is clicked
function RedirectSubmit(e, ButtonId)
{    
    if (e.keyCode==13)
    {        
        
        document.getElementById(ButtonId).click();
        
        return false;
    }
    else
    {
        return true;
    }
}

//Javascript confirm for deleting an object
//message is added at the beggining of the prompt
function ConfirmDelete(message)
{
    var str = "";
    if (message!="" && message!=null)
        {str = message;}
    else
    {
        str = str + "\n?האם אתה בטוח";
    }
    return window.confirm(str);
}

//Attached to a CustomErrorValidator for textarea length validation
//Maxlength is assigned on the codebehind file
function TextareaLengthValidator(oSrc, args)
{     
    textareaToValidate = document.getElementById(oSrc.controltovalidate);
    
    if (textareaToValidate.value.length > textareaToValidate.maxlength)
    {
        textareaToValidate.value = textareaToValidate.value.substring(0, textareaToValidate.maxlength);

        args.IsValid = true;
    }
    else
    {args.IsValid = true;} 
}

//For input=file select file handling
function OnSelectFile(InputFileId, DisplayedInputId)
{
    
    document.getElementById(DisplayedInputId).value = InputFileId.value;
    if (window.navigator.userAgent.indexOf("Firefox")==-1)
    {
        document.getElementById(DisplayedInputId).fireEvent('onchange');
    }
}

//Validator: Checks extension of file to upload - if its: jpg, jpeg or gif
function IsImageFile(oSrc, args)
{        
    filePath = document.getElementById(oSrc.controltovalidate).value.toLowerCase();
    if (filePath.indexOf(".jpeg")==-1 && filePath.indexOf(".jpg")==-1 && filePath.indexOf(".gif")==-1)
    {
        args.IsValid = false;
    }
    else if ((filePath.indexOf(".jpeg")+5)==filePath.length || (filePath.indexOf(".jpg")+4)==filePath.length || (filePath.indexOf(".gif")+4)==filePath.length)
    {
         args.IsValid = true;
    }
    else
    {
        args.IsValid = false; 
    }
}

//Checks input value for validator is numeric
function NumericValidation(oSrc, args)
{   
    if (isNaN(args.Value))
    {
        args.IsValid = false;
    }
    else
    {
        args.IsValid = true;
    }      
}   

function ShowOnMap(city, street, houseNum)
{  
    document.getElementById("MapIFrame").src = "http://www.atlasct.com/israel/in4me/main.asp?iframePath=" + SiteURL + "CodeBehind/MapsIFrameHeight.aspx&iframeParamName=height&showindest=true&city=" + city + "&street=" + street + "&houseNum=" + houseNum;
    document.getElementById("MapIFrame").style.display = "block";            
    document.getElementById("MapIFrame").focus();        
}



        
//Returns an ajax object
function ajaxObject()
{  
    var xmlHttp;
    try {xmlHttp=new XMLHttpRequest();}    // Firefox, Opera 8.0+, Safari
    catch (e)
        {try  {xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}  // Internet Explorer
        catch (e)
        {try {xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
        catch (e)
        {alert("Your browser does not support AJAX!");return false;}}
    }
    return xmlHttp; 
}
    
    
//Highlight: flipping images for onmouseover effect
function Highlight(highlight, OutLink, OverLink)
{       
    if (highlight)
    {   
       document.getElementById(OutLink).style.display = "none";
       document.getElementById(OverLink).style.display = "";
    }
    else
    {
       document.getElementById(OutLink).style.display = "";
       document.getElementById(OverLink).style.display = "none";
    }
}

function DisplayPleaseWait()
{
   document.getElementById("PleaseWaitDiv").style.visibility = "visible";
}

function TextboxBGError(ValidatorObjectId)
{
    var TextBoxToValidate = document.getElementById(document.getElementById(ValidatorObjectId).controltovalidate);
    if (document.getElementById(ValidatorObjectId).isvalid == false)
    {        
        TextBoxToValidate.style.backgroundImage = "url('" + SiteURL + "Images/TextboxErrorBG.gif')";
        TextBoxToValidate.style.backgroundColor = "#FFA93F";
        TextBoxToValidate.style.color = "#606060";
        //alert(TextBoxToValidate.id);
    }
}

//CATEGORIES BOX
var ErrorGetCategories = false;
function GetCategories(onlyAssociated)
{    
    xmlHttpCategories = ajaxObject();
    xmlHttpCategories.onreadystatechange=function()
        {
            try
            {
                if(xmlHttpCategories.readyState==4)
                {
                    CategoriesArray.push(document.getElementById("CategoriesListDiv").innerHTML);   //א is loaded with page
                    var str;
                    var i;
                    CategoriesList = xmlHttpCategories.responseText.split("||||");
                    for (x=1; x<CategoriesList.length; x++)
                    {
                        i = 0;
                        str = "";
                        str = "<table id=\"AllColumnsTable\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"CategoriesColumn\"><tr>";
                        Categories = CategoriesList[x].split("\n");
                        for (j=1; j<Categories.length-1; j++)
                        {
                            if (i == 0)
                                { str += "<td><table cellpadding=\"0\" cellspacing=\"0\">"; }

                            //str += "<tr><td><div>&#8226;</div></td><td><a href=\"" + SiteURL + "Board/" + Categories[j].split("\t")[1] + ".aspx?SearchType=Category&CategoryId=" + Categories[j].split("\t")[0] + "\" style=\"cursor:pointer;\">" + Categories[j].split("\t")[1] + "</a>&nbsp;&nbsp;&nbsp;</td></tr>";
                            str += "<tr><td><div>&#8226;</div></td><td><a href=\"" + SiteURL + "Board/SearchResults.aspx?SearchType=Category&CategoryId=" + Categories[j].split("\t")[0] + "\">" + Categories[j].split("\t")[1] + "</a>&nbsp;&nbsp;&nbsp;</td></tr>";
                            i++;
                            if (i == 11)
                                str += "</table></td>";
                            if (i == 11)
                                {i = 0;}
                        }
                        str += "</table></td>";
                        str += "</tr></table>";
                        CategoriesArray.push(str); 
                    }
                }
            }
            catch (e)
            {
                //Try load categories again
                if (!ErrorGetCategories)
                {
                    ErrorGetCategories = true;
                    if (onlyAssociated)
                        { xmlHttpCategories.open("GET","CodeBehind/GetAssociatedCategories.aspx",true);}
                    else
                        { xmlHttpCategories.open("GET","Categories.txt",true);}
                    xmlHttpCategories.send(null); 
                }          
            }
        }        
        if (onlyAssociated)
            { xmlHttpCategories.open("GET","CodeBehind/GetAssociatedCategories.aspx",true);}
        else
            { xmlHttpCategories.open("GET","Categories.txt",true);}
        xmlHttpCategories.send(null);
}

var px = 3;    
var Timer;
function ScrollLeft(objId)
{       
  Timer = setInterval("document.getElementById(\"" + objId + "\").scrollLeft -= " + px, 1);
}
function ScrollRight(objId)
{
  Timer = setInterval("document.getElementById(\"" + objId + "\").scrollLeft += " + px, 1);
}

//Firefox scrolling alignment
function ResetDivScrolling(objId)
{
    document.getElementById(objId).scrollLeft += 100000;
    document.getElementById(objId).scrollTop = 0;
}

CategoriesArray = new Array();      //Array of HTML items for each letter of categories    
function CategoriesFocus(letterIndex)
{       
    if (CategoriesArray[letterIndex])
    {
        document.getElementById("CategoriesListDiv").innerHTML = CategoriesArray[letterIndex];
        try
        {
            ResetDivScrolling("CategoriesListDiv");//Firefox
        }
        catch (e)
        {
        
        }
    }
}

function CategoriesFocusHomePage(letter)
{
    if (CategoriesArray)
    {
        for (i=0; i<CategoriesArray.length; i++)
        {
            if (CategoriesArray[i].indexOf(">" + letter)!=-1)
            {
                document.getElementById("CategoriesListDiv").innerHTML = CategoriesArray[i];
                try
                {
                    ResetDivScrolling("CategoriesListDiv");//Firefox
                }
                catch (e)
                {
                }
                i = CategoriesArray.length;
            }
        }

    }
}

function SearchCategory(CategoryId)
{
    document.location = "Board/SearchResults.aspx?SearchType=Category&CategoryId=" + CategoryId;
}

//Opens chatroom popup
function OpenChatRoom(AdvertiserId, CampaignId)
{
    var ChatRoom = window.open(SiteURL + "ChatRegistration.aspx?AdvertiserId=" + AdvertiserId + "&CampaignId=" + CampaignId, CampaignId, "width=731,height=402,top=0,left=0,location=0,menubar=0,resizable=0,scrollbars=0,titlebar=0,toolbar=0,directories=0,status=0", true);
}

//Send SMS To Advertiser Popup
function SendSMSToAdvertiser(AdvertiserId)
{
    window.open(SiteURL + "SendSMSToAdvertiser.aspx?AdvertiserId=" + AdvertiserId, "SendSMSTo" + AdvertiserId, "width=734,height=404,top=0,left=0,location=0,menubar=0,resizable=0,scrollbars=0,titlebar=0,toolbar=0,directories=0,status=0", true);
}

//Flash insertion
//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
 
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';
  document.write(str);  
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "style":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}
