﻿function biggerimage(id,l){
    document.getElementById(id).height=l;
    document.getElementById(id).width=l;
}
function showhide(id){
    if (document.getElementById){obj = document.getElementById(id);
        if (obj.style.display == "none"){obj.style.display = "";} 
        else {obj.style.display = "none";}
    }
}
function setClassname(id, cn)
{
document.getElementById(id).className= cn;
}
function changefont(x)
{
    setClassname("contentWebpart", x);
}
function printPartOfPageFa(elementId) {
    var printContent = document.getElementById(elementId);
    var printWindow = window.open('', '', 'left=0,top=0,width=1024,height=768');
    printWindow.document.write('<html><head>');
    printWindow.document.write('<link href="../App_Themes/PrintFa.css" rel="stylesheet" type="text/css" />');
    printWindow.document.write('</head><body>');
    printWindow.document.write('<img src="../images/Fa/Header.jpg" class="imgHeader" />');
    printWindow.document.write(printContent.innerHTML);
    printWindow.document.write('</body></html>');
    printWindow.document.close();    
    printWindow.focus();
    printWindow.print();    
}
function printPartOfPageEn(elementId) {
    var printContent = document.getElementById(elementId);
    var printWindow = window.open('', '', 'left=0,top=0,width=1024,height=768');
    printWindow.document.write('<html><head>');
    printWindow.document.write('<link href="PrintEn.css" rel="stylesheet" type="text/css" />');
    printWindow.document.write('</head><body>');
    printWindow.document.write('<img src="../Images/En/header.gif" class="imgHeader" /><br /><br />');
    printWindow.document.write(printContent.innerHTML);
    printWindow.document.write('</body></html>');    
    printWindow.focus();
    printWindow.print();
    printWindow.document.close();    
    printWindow.close();
}

/************************
    for floating menu 
************************/
/*<![CDATA[*/
// Basic Element Animator (14-May-2009)
// by Vic Phillips http://www.vicsjavascripts.org.uk

// To progressively change the Left, Top, Width, Height or Opacity of an element over a specified period of time.
// With the ability to scale the effect time on specified minimum/maximum values
// and with three types of progression 'sin' and 'cos' and liner and an optional 'Bounce'.

// **** Application Notes

// **** The HTML Code
//
// when moving an element the inline or class rule style position of the element should be assigned as
// 'position:relative;' or 'position:absolute;'.
//
// The element would normally be assigned a unique ID name.
//

// **** Executing the Effect(Script)
//
// The effect is executed by an event call to function 'zxcBAnimator('width#',document.getElementById('tst'),10,800,5000,[10,800],'sin');'
// where:
//  parameter 0 = the mode(see Note 2).                                                                     (string)
//  parameter 1 = the unique ID name or element object.                                                     (string or element object)
//  parameter 2 = the start position of the effect.                                                         (digits, for opacity minimum 0, maximum 100)
//  parameter 3 = the finish position of the effect.                                                        (digits, for opacity minimum 0, maximum 100)
//  parameter 4 = (optional) period of time between the start and finish of the effect in milliseconds.     (digits or defaults to 2000 milliSeconds)
//  parameter 5 = (optional) to scale the effect time on a specified minimum/maximum.                        (array, see Note 5)
//                 field 0 the minimum. (digits)
//                 field 1 the maximum. (digits)
//  parameter 6 = (optional) the type of progression, 'sin', 'cos' or 'liner'.                              (string, default = 'liner')
//                 'sin' progression starts fast and ends slow.
//                 'cos' progression starts slow and ends fast.
//
//  Note 1:  The default units(excepting opacity) are 'px'.
//  Note 2:  Examples modes: 'left', 'top', 'width', 'height', 'opacity.
//           For hyphenated modes, the first character after the hyphen must be upper case, all others lower case.
//  Note 3:  To 'toggle' the effect include '#' in parameter 0.
//           The first call will set the toggle parameters.
//           Subsequent calls with '#' in parameter 0 and the same start and finish parameters will 'toggle' the effect.
//  Note 4:  The function may be re-executed with a different set of parameters (start/finish time or period)
//           whenever required, say from an onclick/mouseover/out event.
//           The period parameter will be retained unless re-specified.
//  Note 5: parameter 5 is of particular use when re-calling the effect
//          in mid travel to retain an constant rate of progression.
//  Note 6: parameters 2 and 3 must be different values to execute the script.
//


// **** Functional Code - NO NEED to Change


function zxcBAnimator(mde, obj, srt, fin, ms, scale, curve) {
    if (typeof (obj) == 'string') { obj = document.getElementById(obj); }
    if (!obj) return;
    var oop = obj[mde.replace(/\W/g, '') + 'oop'];
    if (oop) {
        if (oop.srtfin[0] == srt && oop.srtfin[1] == fin && mde.match('#')) oop.update([oop.data[0], (oop.srtfin[0] == oop.data[2]) ? fin : srt], ms, scale, curve);
        else oop.update([srt, fin], ms, scale, curve);
    }
    else oop = obj[mde.replace(/\W/g, '') + 'oop'] = new zxcBAnimatorOOP(mde, obj, srt, fin, ms, scale, curve);
    return oop;
}

function zxcBAnimatorOOP(mde, obj, srt, fin, ms, scale, curve) {
    this.srtfin = [srt, fin];
    this.to = null;
    this.obj = obj;
    this.mde = mde.replace(/\W/g, '');
    this.update([srt, fin], ms, scale, curve);
}

zxcBAnimatorOOP.prototype.update = function(srtfin, ms, scale, curve) {
    clearTimeout(this.to);
    this.time = ms || this.time || 2000;
    this.data = [srtfin[0], srtfin[0], srtfin[1]];
    this.mS = this.time * (!scale ? 1 : Math.abs((srtfin[1] - srtfin[0]) / (scale[1] - scale[0])));
    this.ms = this.mS;
    this.curve = (typeof (curve) == 'string') ? curve.charAt(0).toLowerCase() : (this.curve) ? this.curve : 'x';
    this.inc = Math.PI / (2 * this.mS);
    this.srttime = new Date().getTime();
    this.cng();
}

zxcBAnimatorOOP.prototype.cng = function() {
    this.ms = new Date().getTime() - this.srttime;
    this.data[0] = (this.curve == 's') ? Math.floor((this.data[2] - this.data[1]) * Math.sin(this.inc * this.ms) + this.data[1]) : (this.curve == 'c') ? (this.data[2]) - Math.floor((this.data[2] - this.data[1]) * Math.cos(this.inc * this.ms)) : (this.data[2] - this.data[1]) / this.mS * this.ms + this.data[1];
    this.apply();
    if (this.ms < this.mS) this.to = setTimeout(function(oop) { return function() { oop.cng(); } } (this), 10);
    else {
        this.data[0] = this.data[2];
        this.apply();
        if (this.Bounce && this.Bounce[2] > 0) this.bounce();
    }
}

zxcBAnimatorOOP.prototype.apply = function() {
    if (isFinite(this.data[0])) {
        if (this.mde != 'left' && this.mde != 'top' && this.data[0] < 0) this.data[0] = 0;
        if (this.mde != 'opacity') this.obj.style[this.mde] = this.data[0] + 'px';
        else zxcOpacity(this.obj, this.data[0]);
    }
}

zxcBAnimatorOOP.prototype.bounce = function() {
    if (this.Bounce[2] % 2 == 0)
        this.Bounce[1] += (this.Bounce[0] - this.Bounce[1]) / (this.Bounce[2])
    this.update([this.data[0], this.Bounce[this.Bounce[2] % 2 == 0 ? 1 : 0]], this.Bounce[3] / this.Bounce[2]);
    this.Bounce[2]--;
}

function zxcOpacity(obj, opc) {
    if (opc < 0 || opc > 100) return;
    obj.style.filter = 'alpha(opacity=' + opc + ')';
    obj.style.opacity = obj.style.MozOpacity = obj.style.KhtmlOpacity = opc / 100 - .001;
}

function Float(id, ms) {
    this.obj = document.getElementById(id);
    this.parent1 = document.getElementById('contentCenter');
    this.parent2 = document.getElementById('advRight');
    this.parent = this.parent2;
    if (this.parent1.offsetHeight > this.parent2.offsetHeight)
    {this.parent = this.parent1; }
    
    this.mm = [this.obj.offsetTop, this.parent.offsetHeight - this.obj.offsetHeight];
    this.check();
    this.top = zxcWWHS()[3];
    this.ms = ms || 1000;
}

Float.prototype.check = function() {
    var oop = this, top = zxcWWHS()[3];
    if (top == this.top) {
        var pos = Math.min(Math.max(top - zxcPos(this.parent)[1] + this.mm[0], this.mm[0]), this.mm[1]);
        zxcBAnimator('top', this.obj, this.obj.offsetTop, pos, this.ms, this.mm);
        setTimeout(function() { oop.check(); }, this.ms);
    }
    else {
        this.top = top;
        setTimeout(function() { oop.check(); }, 200);
    }
}

function zxcPos(obj) {
    var rtn = [obj.offsetLeft, obj.offsetTop];
    while (obj.offsetParent != null) {
        var objp = obj.offsetParent;
        rtn[0] += objp.offsetLeft;
        rtn[1] += objp.offsetTop;
        obj = objp;
    }
    return rtn;
}


function zxcWWHS() {
    if (window.innerHeight) return [window.innerWidth - 10, window.innerHeight - 10, window.pageXOffset, window.pageYOffset];
    else if (document.documentElement.clientHeight) return [document.documentElement.clientWidth - 10, document.documentElement.clientHeight - 10, document.documentElement.scrollLeft, document.documentElement.scrollTop];
    return [document.body.clientWidth, document.body.clientHeight, document.body.scrollLeft, document.body.scrollTop];
}


/*]]>*/

