
function sPopup(id,f,w,h,s) {
    /**
    * id - window identyfication
    *  f - file to display
    *  w - window width
    *  h - window heihgt
    *  s - scrollbar display (yes/no)
    */
    var param;
    if (s!='yes') {s='no';} else {s='yes'}
    if(window.screen) {
        aw=screen.availWidth;
        ah=screen.availHeight-140;
    } else {
        aw=640;
        ah=450;
    }
    var winl=(aw-w)/2;
    var wint=(ah-h)/2;
    param = "width="+w+",height="+h+",scrollbars="+s+",resizable=no,toolbar=no,userbar=no,location=no,status=no,menubar=no,top="+wint+",left="+winl;
    newwindow = open(f,id,param);
    newwindow.focus();
}

function markCheckbox(checked, boxName)
{
  var elements = document.getElementsByName(boxName);

  for (var i=0; i<elements.length; i=i+1)
  {
    if (!elements[i].disabled)
      elements[i].checked = checked;
  }
}

function MM_swapImgRestore() { //v2.0
  if (document.MM_swapImgData != null)
    for (var i=0; i<(document.MM_swapImgData.length-1); i+=2)
      document.MM_swapImgData[i].src = document.MM_swapImgData[i+1];
}

function MM_preloadImages() { //v2.0
  if (document.images) {
    var imgFiles = MM_preloadImages.arguments;
    if (document.preloadArray==null) document.preloadArray = new Array();
    var i = document.preloadArray.length;
    with (document) for (var j=0; j<imgFiles.length; j++) if (imgFiles[j].charAt(0)!="#"){
      preloadArray[i] = new Image;
      preloadArray[i++].src = imgFiles[j];
  } }
}

function MM_swapImage() { //v2.0
  var i,j=0,objStr,obj,swapArray=new Array,oldArray=document.MM_swapImgData;
  for (i=0; i < (MM_swapImage.arguments.length-2); i+=3) {
    objStr = MM_swapImage.arguments[(navigator.appName == 'Netscape')?i:i+1];
    if ((objStr.indexOf('document.layers[')==0 && document.layers==null) ||
        (objStr.indexOf('document.all[')   ==0 && document.all   ==null))
      objStr = 'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length);
    obj = eval(objStr);
    if (obj != null) {
      swapArray[j++] = obj;
      swapArray[j++] = (oldArray==null || oldArray[j-1]!=obj)?obj.src:oldArray[j];
      obj.src = MM_swapImage.arguments[i+2];
  } }
  document.MM_swapImgData = swapArray; //used for restore
}

/**
 * Add code function into func function
 */
function addCodeToFunction(func, code) {
    if(func == undefined) {
        return code;
    }
    else {
        return function() {
            func();
            code();
        }
    }
}

/**
* Hide/show import details.
*/
function hideImportDetails(value) {
    var node = $("import_details");
    if(node == null) {
        return;
    }

    if(value) {
        Element.hide(node);
    } else {
        Element.show(node);
    }
    //call renderLayout function to keep proper distance beetween content div and footer
    renderLayout();
}

/**
 * thouse two functions show_props_R and show_obj are helpfull
 * if there is a need to view object content
 */
function show_props_R(obj, obj_name, equ, delim, depth) {
    var result = ''
    depth--
    for (var i in obj) {
        if (parseInt (navigator.appVersion)==2)
          var typ= 'number'     // Netscape 2.0 doesn't know about typeof
        else
          var typ= typeof (obj[i])
        if (typ=='number' && i=='length') continue
        var del= (typ=='string') ? '"' : ''
        var suf= (typ!='string' && typ!='number' && typ!='object') ?
                  ' ('+typ+')' : ''
        result += obj_name+'.'+i+equ+del+obj[i]+del+suf+delim
        if (depth>0)// && typ=='object')
          result += show_props_R (obj[i], obj_name+'.'+i, equ, delim, depth)
    }
    return result;
}

function show_obj(object, depth) {
    var str= show_props_R (eval (object), object, '=</TD><TD VALIGN=TOP>', '</TD></TR>\n<TR><TD VALIGN=TOP>', depth)
    //Output everything in one go. Required for Netscape 3.0b5, which forgets
    //everything once we start writing to the new page.
    document.writeln ('<TABLE>\n<TR><TD>',str,'</TABLE>')
    //Finish off page (needed for Netscape 3.0b4 and before).
    document.close()
}


//////// section ajax edit //////////
function update_modal(el_id, txt) {
    Element.update(el_id, txt);
    $('modal_div').show();
}

////////////////////////

// update terms of use continue element
function update_b_next() {
    var node = $('checkbox_agree');

    if(node == null) {
        return;
    }
        
    if(node.checked) {
        Element.show("continue_blue");
        Element.hide("continue_grey");
    } else {
        Element.hide("continue_blue");
        Element.show("continue_grey");
    }
}

/*
* Preview/Next button handler for Featured Site Carousel
*/
function featuredButtonStateHandler(button, enabled) {
    if (button.match("prev-arrow"))
        $(button).src = enabled ? "/images/sectionicons/carousel_small_left.png" : "/images/sectionicons/carousel_small_left_dis.png"
    else
        $(button).src = enabled ? "/images/sectionicons/carousel_small_right.png" : "/images/sectionicons/carousel_small_right_dis.png"
}

/*
* Preview/Next button handler for Templates Site Carousel and for
* Featured Site Carousel on welcome page
*/
function carouselBigButtonStateHandler(button, enabled) {
    if (button.match("prev-arrow"))
        $(button).src = enabled ? "/images/carousel_left_big.png" : "/images/carousel_left_big_grey.png"
    else
        $(button).src = enabled ? "/images/carousel_right_big.png" : "/images/carousel_right_big_grey.png"
}


