﻿function bodyKeyPressHandler(evt) 
{ 
evt = ( evt ) ? evt : window.event;
var keyCode = ( evt.which ) ? evt.which : evt.keyCode
if(keyCode == 27)
{
    HideWindow('modal'); 
    HideWindow('messageBox');
    try
    {
        PhotosInstance.ClosePreview();
    }catch(ee){}
    $('body').unbind('keypress');
}
}
function showWaiter(obj){
    if ($(obj)[0] && $(obj)[0].className)
        $(obj).attr("class",$(obj)[0].className + " waiter");
}
function hideWaiter(obj){
    if ($(obj)[0]&& $(obj)[0].className)
        $(obj).attr("class",$(obj).attr("class").replace(" waiter",""));
}
function Position(_x,_y,_width,_height){
    this.x = _x;
    this.y = _y;
    this.width = _width;
    this.height = _height;
}
function getX(obj){
    return obj.offsetLeft + (obj.offsetParent ? getX(obj.offsetParent) : obj.x ? obj.x : 0);
}        
function getY(obj){
    return (obj.offsetParent ? obj.offsetTop + getY(obj.offsetParent) : obj.y ? obj.y : 0);
}
function getPosition(obj)
{
    return new Position(getX(obj),getY(obj),obj.offsetWidth,obj.offsetHeight);
}
function showProgress(obj,by)
{
    if ($('#' + obj.id + 'prog').length==0){
        var pos = getPosition(obj);
        var newdoc = document.createElement('DIV');
        newdoc.id = obj.id + 'prog';
        newdoc.className = 'ProgressDiv';
        newdoc.style.left = pos.x+ 'px';
        newdoc.style.top = pos.y+ 'px';
        newdoc.style.width = pos.width+ 'px';
        newdoc.style.height = pos.height + 'px';
        document.getElementsByTagName('BODY')[0].appendChild(newdoc);
        progressCount = 0;
    }
    $('#' + obj.id + 'prog')[0].setAttribute('SetBy',by);
}
var progressCount = 0;
function removeProgress(obj,by)
{
    var nobj = $('#' + obj.id + 'prog')[0];
    
    if (nobj!=null)
    {
        if (nobj.getAttribute('SetBy')==by)
            nobj.parentNode.removeChild(nobj);
    }
        
}
function Paging(tmpxml,field,pagesize,currentpage)
{
    var pages = parseInt(tmpxml.getElementsByTagName(field).length/pagesize); 
    if (tmpxml.getElementsByTagName(field).length%pagesize > 0)
        pages++;
    
    if (currentpage>pages)
        currentpage = pages;
    if (currentpage<1)
        currentpage = 1;
    
    var elms = tmpxml.getElementsByTagName(field);
    for(var i=0; i<(currentpage-1)*pagesize; i++)
    {
        elms[0].parentNode.removeChild(elms[0]);
        elms = tmpxml.getElementsByTagName(field);
    }
    elms = tmpxml.getElementsByTagName(field);
    var len = elms.length;
    for(var i=pagesize; i < len; i++)
    {
        elms[pagesize].parentNode.removeChild(elms[pagesize]);
        elms = tmpxml.getElementsByTagName(field);
    }
    tmpxml.documentElement.setAttribute('Pages',pages);
    tmpxml.documentElement.setAttribute('CurrentPage',currentpage);
    return tmpxml;
    
}
function setMouseHndl(obj,stat){ var clsNm = obj.className.replace('_HOVER',''); obj.className = (stat)?clsNm+'_HOVER':clsNm; } 
function loadXMLDoc(fname,retfunc) { $.ajax({ url: fname, cache : true, dataType: 'xml', success: function(data) { if (retfunc) retfunc(data); } }); } 
function TransformXml(xml,xslUrl,retfunc) {
    showProgress($('#mainholder')[0],'transform'); 
    loadXMLDoc(xslUrl, function (xsl) {
        if (window.ActiveXObject) { retfunc(xml.transformNode(xsl)); } else if (document.implementation && document.implementation.createDocument) { var xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xsl); var resultDocument = xsltProcessor.transformToFragment(xml,document); retfunc(resultDocument);} 
        removeProgress($('#mainholder')[0],'transform'); 
    }); 
 } 
function TransformXsltoXml(xml,xsl,retfunc) { showProgress($('#mainholder')[0],'transform');if (window.ActiveXObject) retfunc(xml.transformNode(xsl)); else if (document.implementation && document.implementation.createDocument) { var xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xsl); var resultDocument = xsltProcessor.transformToFragment(xml,document); retfunc(resultDocument); } removeProgress($('#mainholder')[0],'transform'); } 
function hndlMenu(obj,show,tipTxt) { if (show){ 	 $(obj).children().filter('.menuholder').children().filter('.menumask').css("display","inline"); 	} else { 	 $(obj).children().filter('.menuholder').children().filter('.menumask').css("display","none"); 	} 	if (tipTxt==null) 	 tipTxt=''; $('#mnuDesc').text(tipTxt); } 
function onlyNumbers(evt) {
    evt = ( evt ) ? evt : window.event;
    var charCode = ( evt.which ) ? evt.which : evt.keyCode
    return (charCode <= 31 || (charCode>=37 && charCode<=40 ) || charCode == 46 || (charCode >= 48 && charCode <= 57))
}
function ChangeStep(cstep,nstep)
{
    if ($('#step'+cstep).length>0)
        $('#step'+cstep).attr('className','StepDisabled');
    if ($('#step'+nstep).length>0)
        $('#step'+nstep).attr('className','StepActive');
}
function SetFormInputs(tt) {
 if (!tt)
    tt = '';
 var objs = $("INPUT[type='text'][className='inpText"+tt+"']"); 
 objs.unbind('focus'); 
 objs.unbind('blur'); 
 objs.focus(function() {$(this).attr('className','inpText'+tt+'SE')[0]}); 
 objs.blur(function() {$(this).attr('className','inpText'+tt);}); 
 objs = $("INPUT[type='password'][className='inpText"+tt+"']"); 
 objs.unbind('focus'); 
 objs.unbind('blur'); 
 objs.focus(function() {$(this).attr('className','inpText'+tt+'SE')[0]}); 
 objs.blur(function() {$(this).attr('className','inpText'+tt);}); 
 objs = $("TEXTAREA[className='inpText"+tt+"']"); objs.unbind('focus'); 
 objs.unbind('blur'); 
 objs.focus(function() {$(this).attr('className','inpTextSE'+tt)[0]}); 
 objs.blur(function() {$(this).attr('className','inpText'+tt);}); 
 } 

$(document).ready(function() {
    $('#mainpanel').corner("15px");		
    $("div[id^='RCD_']").corner("15px");
    $('#sidepanel').corner("tl bl 15px");		
    $('#mainholder').corner("bottom 15px");
    var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
    var pnlSpcr = $('#pnlSpcr');
    if (pnlSpcr.length>0)
        if (false && IE6){
            //pnlSpcr.height(pnlSpcr[0].parentNode.parentNode.clientHeight - pnlSpcr[0].parentNode.clientHeight);
        }else if (true || IE6){
            pnlSpcr.height(pnlSpcr[0].parentNode.parentNode.clientHeight);
     }
});

function Hover(obj,classname)
{
    if ($(obj).find('input[@type=radio]:checked').length==0)
        obj.className = classname;
     
}
function HideWindow(winname)
{
    if ($('#'+ winname).css('display')!='none')
    {
        $('SELECT').css('visibility','visible');
        //$('#'+ winname).removeAttr('style');
        $('#'+ winname).css('display','none');
        $('#'+ winname + 'Title').html('');
        $('#'+ winname + 'Body').html('');
        if ($('#modalOverlay')[0].getAttribute("opener") == winname)
        {
            $('#modalOverlay')[0].style.display = "none";
            $(window).unbind("scroll");
            $(window).unbind("resize");
        }
        else
        {
            var zindex = parseInt($('#' + $('#modalOverlay').attr("opener")).css("z-index")) - 1;
            $('#modalOverlay').css("z-index",zindex);
        }
    }
}
function getScrollXY(){
      var scrOfX = 0, scrOfY = 0;
      if( typeof( window.pageYOffset ) == 'number' ) {
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
      } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
      } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
      }
      return [ scrOfX, scrOfY ];
}
function getWindowWH(){
      var myWidth = 0, myHeight = 0;
      if( typeof( window.innerWidth ) == 'number' ) {
        myWidth = window.innerWidth;
        myHeight = window.innerHeight;
      } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
        myWidth = document.documentElement.clientWidth;
        myHeight = document.documentElement.clientHeight;
      } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
        myWidth = document.body.clientWidth;
        myHeight = document.body.clientHeight;
      }
      return [myWidth,myHeight];
}
function restPosition(winname){
    if ($('#' + winname)!=null && $('#' + winname).length>0){
    var width = parseInt($('#' + winname).css("width"));
    var height = parseInt($('#' + winname).css("width"));
    var y = getScrollXY()[1] + (getWindowWH()[1]/2) - (height/2);
    var x = getScrollXY()[0] + (getWindowWH()[0]/2) - (width/2);
    $('#' + winname).css("top",y + "px").css("left",x + "px");
    }
}
function ShowWindow(winname,title,body,types,width,height,hide)
{
    if (!hide)
    $('SELECT').css('visibility','hidden');
    var zindex = parseInt($('#' + winname).css("z-index")) - 1;
    $('#' + winname).css("display","inline").css("position","absolute").css("width",width + "px").css("height",height +"px");
    restPosition(winname);
    if ($('#'+ winname + 'Title').length>0)
        $('#'+ winname + 'Title').html(title);
    if ($('#'+ winname + 'Body').length>0)
        $('#'+ winname + 'Body').html(body);

    $(window).resize(function(){  restPosition(winname);});
    $(window).scroll(function(){  restPosition(winname);});

    var overlay = $('#modalOverlay');
    overlay.css("z-index",zindex)
    if (overlay.css("display") == "none")
    {
        ShowOverlay(winname);
        $(window).resize(function(){ ShowOverlay(winname);});
        $(window).scroll(function(){ ShowOverlay(winname);});
        $('body').unbind('keypress');
        $('body').keypress(function(e){bodyKeyPressHandler(e);});
    }
}

function ShowWindow4(winname,title,body,types,width,height,hide)
{
    if (!hide)
        $('SELECT').css('visibility','hidden');
    var zindex = parseInt($('#' + winname).css("z-index")) - 1;
    $('body')[0].appendChild($('#' + winname)[0]);
    $('#' + winname).css("display","inline").css("position","absolute").css("top","50%").css("right","50%").css("margin-right","-"+ (width/2) + "px").css("width",width + "px").css("height",height +"px");
    restPosition(winname);
    
    if ($('#'+ winname + 'Title').length>0)
        $('#'+ winname + 'Title').html(title);
    if ($('#'+ winname + 'Body').length>0)
        $('#'+ winname + 'Body').html(body);
        
    $(window).resize(function(){  restPosition(winname);});
    $(window).scroll(function(){  restPosition(winname);});
        
    var overlay = $('#modalOverlay');
    overlay.css("z-index",zindex)
    if (overlay.css("display") == "none")
    {
        ShowOverlay(winname);
        $(window).resize(function(){ ShowOverlay(winname);});
        $(window).scroll(function(){ ShowOverlay(winname);});
        $('body').unbind('keypress');
        $('body').keypress(function(e){bodyKeyPressHandler(e);});
    }
}
function ShowOverlay(winname)
{
    var overlay = $('#modalOverlay');
    var maxwidth = getWindowWH()[0];//Math.max($(window).width(),$('body').width());
    var maxheight = getWindowWH()[1];//Math.max($(window).height(),$('body').height());
    var y = getScrollXY()[1] ;
    var x = getScrollXY()[0] ;
    overlay.attr("opener", winname).height(maxheight).width(maxwidth).css("display","inline").css("top",y + "px").css("left",x+"px");
}
function Error(message,func)
{   
    var m = message;
    if (message.indexOf('AXPrintCore.Exceptions')>-1)
    {
        m = message.substring(message.indexOf(':') + 1);
        m = m.substring(0,m.indexOf('\n'));
    }
    ShowWindow('messageBox','خطا','<table cellspacing="0" cellpadding="0" width="100%" style="margin:5px;" ><tr><td width="80" align="center"><img src="/images/error.gif" width="60" ></td><td align="right" >' + m + '</td></tr></table>','',300,100);
    $('#messageBoxButton INPUT').click(function () {
        HideWindow('messageBox');
        if (func)
            func();
    });
    $('#messageBoxButton INPUT').focus();
}
function MessageBox(title,message,canclebtntitle,cancelbtnaction)
{
    ShowWindow('messageBox',title,message,'',300,100);
    $('#messageBoxButton INPUT').unbind('click');
    $('#messageBoxButton INPUT').val(canclebtntitle);
    $('#messageBoxButton INPUT').click(function () {
        HideWindow('messageBox');
        if (cancelbtnaction)
        cancelbtnaction();
    });
    $('#messageBoxButton INPUT').focus();
}
function Alert(title,message,type,func)
{
    ShowWindow('messageBox',title,message,type,300,100);
    $('#messageBoxButton INPUT').click(function () {
        HideWindow('messageBox');
        if (func)
            func();
    });
    $('#messageBoxButton INPUT').focus();
}

function SelectSingleNode(xmlDoc, elementPath)
{
    if(window.ActiveXObject)
    {
        return xmlDoc.selectSingleNode(elementPath);
    }
    else
    {
       var xpe = new XPathEvaluator();
       var nsResolver = xpe.createNSResolver( xmlDoc.ownerDocument == null ? xmlDoc.documentElement : xmlDoc.ownerDocument.documentElement);
       var results = xpe.evaluate(elementPath,xmlDoc,nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE, null);
       return results.singleNodeValue; 
    }
}
function CancelBubble(evnt)
{
    var e = (window.event)?window.event:evnt;
    e.cancelBubble = true;
}
function LoadXMLFromString(xmlstr)
{
    var xmlDoc;
    if (window.ActiveXObject)
    {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = false;
        xmlDoc.loadXML(xmlstr);
    }
    else if (document.implementation && document.implementation.createDocument)
    {
        var parser = new DOMParser();
        xmlDoc = parser.parseFromString(xmlstr,"text/xml");
    }
    return xmlDoc;
}
function CreateXMLDocument()
{
    var xmlDoc;
    if (window.ActiveXObject)
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    else if (document.implementation && document.implementation.createDocument)
        xmlDoc=document.implementation.createDocument("","",null);
    return xmlDoc;
}
function nodeText(n)
{
    try
    {  
        if (n.text!=null)
        {
            return n.text;
        }
        else if (n.textContent!=null)
            return n.textContent;
        else
            return '';
    }
    catch(e)
    {return n.textContent;}
}
var ContactsInstance= null;
function InitAjaxProgress()
{
    $(document).ready(function () {
    
          $('#mainholder').ajaxStart(function(){
            showProgress($(this)[0],'ajax');
          });
          $('#mainholder').ajaxComplete(function(a,b){
            removeProgress($(this)[0],'ajax');
          });
    });
}


if( document.implementation.hasFeature("XPath", "3.0") ) 
{ 

    XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode) 
    { 
        if( !xNode ) { xNode = this; }
        var xItems = this.selectNodes(cXPathString, xNode);
        if( xItems.length > 0 ) 
        { 
            return xItems[0];
        } 
        else 
        { 
            return null;
        } 
    } 

    Element.prototype.selectSingleNode = function(cXPathString) 
    {
        if(this.ownerDocument.selectSingleNode) 
        { 
            return this.ownerDocument.selectSingleNode(cXPathString, this);
        } 
        else{throw "For XML Elements Only";} 
    } 


    XMLDocument.prototype.selectNodes = function(cXPathString, xNode) 
    { 
        if( !xNode ) { xNode = this; }
        var oNSResolver = this.createNSResolver(this.documentElement) 
        var aItems = this.evaluate(cXPathString, xNode, oNSResolver,
        XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null) 
        var aResult = [];
         for( var i = 0; i < aItems.snapshotLength; i++) 
         { 
             aResult[i] = aItems.snapshotItem(i);
         } 
        return aResult;
    } 
    Element.prototype.selectNodes = function(cXPathString) 
    { 
        if(this.ownerDocument.selectNodes) 
        { 
            return this.ownerDocument.selectNodes(cXPathString, this);
        } 
         else{throw "For XML Elements Only";} 
    } 
 } 
function showSideBox(boxname){
    $('.sideBox').css('display','none');
    $('#'+boxname).css('display','block');
    
}

function setConfirmUnload(on,unloadMessage) {

if (on){
    window.onbeforeunload = function (e) {
      var e = e || window.event;

      // For IE and Firefox
      if (e) {
        e.returnValue = unloadMessage;
      }

      // For Safari
      return 'Any string';
    };
}
else
   window.onbeforeunload = null;
}
var slidewidth = 696;
function slideBack(obj1,obj2){
    var width = slidewidth;
    obj2.style.left = width + "px";
    obj1.style.left = "0px";
    $(obj1).animate({"left": "-="+ width + "px"}, "slow",function(){ obj1.style.display = 'none';});
    obj2.style.display = 'block';
    $(obj2).animate({"left": "-="+width+"px"}, "slow");
}
function slide(obj1,obj2){
    var width = slidewidth;
    obj2.style.left = "-" + width + "px";
    obj1.style.left = "0px";
    $(obj1).animate({"left": "+="+ width + "px"}, "slow",function(){ obj1.style.display = 'none';});
    obj2.style.display = 'block';
    $(obj2).animate({"left": "+="+width+"px"}, "slow");
}
var currentStep = 0;    
function gotoStep(step){
    $('#step' + currentStep).removeAttr('class');
    currentStep = step;
    $('#step' + currentStep).attr('class','selected');
}

