﻿var $ = function(id) { return document.getElementById(id); }
var hasClass = (function(obj, cls) {
    if (!obj || !obj.className) { return false; }
    var classes = ' ' + obj.className + ' ';
    if (classes.indexOf(' ' + cls + ' ') >= 0) { return true; }
    return false;
});
var addClass = (function(obj,cls){
    if(!obj||!cls) return;
    if( !hasClass( obj, cls ) ) obj.className = obj.className + ' ' + cls;
});
var removeClass = (function(obj,cls){
    if(!obj||!cls) return;
    if( hasClass( obj, cls ) ) {
        var clsName = obj.className;
        if( clsName.indexOf(cls) == 0 ) {
            clsName = clsName.substring( cls.length );
        } else {
            clsName = clsName.substring( 0, clsName.indexOf(cls) ) + clsName.substring( clsName.indexOf(cls) + cls.length, clsName.length );
        }
        obj.className = clsName;
    }
})
var $$ = (function(cn, el_type, p_el) {
    if (!el_type || typeof el_type != 'string' || el_type.length == 0) { el_type = '*'; }
    var children = (document.getElementById(p_el) || document.body).getElementsByTagName(el_type);
    var r_els = [];
    for (var j = 0; j < children.length; j++) {
        if (hasClass(children[j], cn)) r_els[r_els.length] = children[j];
    }
    return r_els;
});
var iframeResizer = (function(cls, p_el, settings) {
    var frames = $$(cls, "iframe", p_el);
    if (!frames || frames.length == 0) return;
    for (var i = 0; i < frames.length; i++) {
        On(frames[i], "load", updateSize);
        On(frames[i], "change", updateSize)
        On(frames[i], "reset", updateSize); ;

    }
    function updateSize(event) {
        var h = 0;
        var iframe = (event.srcElement || event.target);
        var iframe_obj = (iframe.contentDocument || iframe.contentWindow);
        if (iframe_obj.document) iframe_obj = iframe_obj.document;
        h = parseInt(iframe_obj.body.offsetHeight);
        iframe.style.height = (h + 65 + "px");
        if (settings && settings.onresizeComplete) {
            settings.onresizeComplete(iframe);
        }
    }

});
var On = function(el, eventName, func) {
    if (!el) return;
    if (el.attachEvent) {
        if (eventName.substring(0,2) != "on") eventName = "on" + eventName;
        el.attachEvent(eventName, func);
    } else if (el.addEventListener) {
        if (eventName.substring(0, 2) == "on") eventName = eventName.substring(2,eventName.length);
        el.addEventListener(eventName, func, true);
    }
}
var FlipDisplay = (function(id, mode) {
    var el = $(id);
    if (el) el.style.display = mode ? "block" : "none";
});
//var IsElHidden = (function(el) {
//    var hidden = true;
//    if (el) {
//        if (el.style.display == "block" || el.style.display == "" || el.style.visibility == "visible" || el.style.visibility == "") {
//            hidden = false;
//        } 
//    }
//    return hidden;
//});
var IsIE = (navigator.userAgent.indexOf("MSIE") >= 0);
var EnableHover = (function(id, cls) {
    if (!cls) { cls = "hover"; }
    var el = $(id);
    if (!el) return;

    On(el, 'mouseover', function() { addClass(el, cls); });
    On(el, 'mouseout', function() { removeClass(el, cls); });
});