/*SCRIPT TO SUPPORT CONTACT FORM*/
/*CHANGED BY RBN ON 2011-09-30  */

function formControl( formType, formStatus)
	{
/*LoadFormAndCss*/
	if ( formType == 'static' && formStatus == 'active')
		{
		sessVars.form = {formType: 'static', formStatus: 'active'};

		$('#image2').slideUp('500');
		$('#image1').slideDown('500');
		$('#static').load('Apps/ContactForm/ContactForm.php').fadeIn('500');
		positionElement('static');
		$('#staticBackground').fadeIn('500');
		}	

	if ( formType == 'popUp' && formStatus == 'active')
		{
		sessVars.form = {formType: 'popUp', formStatus: 'active'};

		$('#popUp').load('Apps/ContactForm/ContactForm.php').fadeIn('500');
		positionElement('popUp');
		$('#popUpBackground').fadeIn('500');
		
		$(window).resize(function(){positionElement('popUp')});
		moveableObjectInit('popUp','contactForm');
		}	

/*AjaxPostSubmittedToValidateForm*/
	if ( formType == 'static' && formStatus == 'submit')
		{
		sessVars.form = {formType: 'static', formStatus: 'submit'};

		var type		= 'Post';
		var url   		= 'Apps/ContactForm/ContactForm.php';
		var queryString = $('form').serialize()+'&submit=submitted';
		var success		= function(data){$('#static').html(data);};
		var dataType	= 'html';
		$.post(url,queryString,success,dataType );
		}

	if ( formType == 'popUp' && formStatus == 'submit')
		{
		sessVars.form = {formType: 'popUp', formStatus: 'submit'};
		
		var type		= 'Post';
		var url   	 	= 'Apps/ContactForm/ContactForm.php';
		var queryString	= $('form').serialize()+'&submit=submitted';
		var success	 	= function(data){$('#popUp').html(data);};
		var dataType 	= 'html';
		$.post(url,queryString,success,dataType );
		}

/*CloseExitContactForm*/
	if ( formType == 'static' && formStatus == 'close')
		{
		sessVars.form = {formType: 'none', formStatus: 'none'};
		
		$('#image1').fadeOut('750');
		$('#static').fadeOut('750');
		$('#image2').fadeIn('500');
		$('#staticBackground').fadeOut('500');
		$(document).ready(function(){setTimeout('window.scrollTo(0,0)',100);});
		$('#contactForm').remove();
		}	

	if ( formType == 'popUp' && formStatus == 'close')
		{
		sessVars.form = {formType: 'none', formStatus: 'none'};
		
		$('#popUp').fadeOut('500');
		$('#popUpBackground').fadeOut('500');
		$(document).ready(function(){setTimeout('window.scrollTo(0,0)',100);});
		$('#contactForm').remove();
		var expand = document.getElementById('content');
		expand.style.paddingBottom = 0+ "px";
		}	
  }

/*FunctionToDeterminePositionOfmoveableObjectInit*/
function positionElement(elementId)
	{

/*ElementContentPositionSize*/		
	var cPos= getElementPos('content')												
	var cL	= cPos.left;
	var cT	= cPos.top;													
	var cW	= cPos.width;												
	var cH	= cPos.height;												
	//alert('content  '+cL+' '+cT+' '+cW+' '+cH);

/*ElementFooterPositionSize*/
	var fPos= getElementPos('footerTable')												
	var fL	= fPos.left;
	var fT	= fPos.top;
	var fW	= fPos.width;
	var	fH	= fPos.height;
	//alert('footer  '+fL+' '+fT+' '+fW+' '+fH)
	
/*ElementFormPositionSize*/
	//var pPos= getElementPos('contactForm');				
	//var pL	= pPos.left;
	//var pT	= pPos.top;
	//var pW	= pPos.width;
	//var pH	= pPos.height;
	var pL	=   0;
	var pT	=   0;
	var pW	= 430;
	var pH	= 430;
	//alert('popup  '+pL+' '+pT+' '+pW+' '+pH);

	if (elementId == 'static')
		{
		$(document).ready(function(){window.scrollTo(0,cT+90)});
		}

	if (elementId == 'popUp')
		{
		var pos = document.getElementById(elementId);
		var posX = cL+ cW/2 - pW/2;  										/*WidthOfPopUpObject*/ 
		var posY = fT - pH - 45;											/*HeightOfPopUpObjectAboveFooter*/						

		if (posY < cT)														/*PageSmallerThanPopUp*/
			{
			posY = cT + 10;													
			var expand = document.getElementById('content');	
			expand.style.paddingBottom = cT + pH - fT + 90  + "px";
			}

		pos.style.left 		= posX + "px";
		pos.style.top		= posY + "px";
		pos.style.position	= 'absolute';

		$(document).ready(function(){window.scrollTo(0,posY-45)});
		}
	}

/*FunctionToDeterminePositionOfElementAndSize*/
	function getElementPos(element) 
		{
		var posLeft	= posTop	= 0;
		var objWidth= objHeight	= 0;

		var obj 	= document.getElementById(element);
		objWidth 	= obj.offsetWidth;
		objHeight	= obj.offsetHeight	

		if (obj.offsetParent) 
			{	
			do 
				{
				posLeft += obj.offsetLeft;
				posTop	+= obj.offsetTop;	
				} 
			while (obj = obj.offsetParent);
			}
		return {left:posLeft, top:posTop, width:objWidth, height:objHeight};
		}
		

/*FunctionToMakeObjectMoveable*/
var _tracker=null;

function moveableObjectInit(object,element)
	{
    var object = document.getElementById(object);
    object.handlerobj = new moveableObject(object);
    
    var element = document.getElementById(element);
    if(element && element.SavedInnerHTML)
       	element.innerHTML = element.SavedInnerHTML;
	}

function moveableObject(object)
	{
    var _object = object;
    //object.handlerobj = this;

    var downposX = 0;
    var downposY = 0;
    var dragging = false;

    this.isIE    = false;
    this.isNS    = false;


    this.Init = function()
    {
        if (navigator.userAgent.indexOf("MSIE") >= 0 ||
            navigator.userAgent.indexOf("Opera") >= 0) 
        {
            this.isIE = true;
        }
        else
        {
            this.isNS = true;
        }
    }

    _object.onmousedown = function(event)
    {
        var x=0;
        var y=0;

        _this = this.handlerobj;

        if (_this.isIE) 
        {
            x = window.event.clientX + 
                document.documentElement.scrollLeft + 
                document.body.scrollLeft;

            y = window.event.clientY + 
                document.documentElement.scrollTop + 
                document.body.scrollTop;
        }
        else
        {
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
        }

        var top = parseInt(this.style.top,  10);
        
        var client_y = y - top;
        if(!(client_y>0  && client_y<30))
        {
         return;
        }
        
        _this.cursorStartX = x;
        _this.cursorStartY = y;
        _this.divStartX   = parseInt(this.style.left, 10);
        _this.divStartY   = top;

        if (this.handlerobj.isIE) 
        {
            document.attachEvent("onmousemove", _this.onmousemove);
            document.attachEvent("onmouseup",   _this.onmouseup);
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        }
        else
        {
            document.addEventListener("mousemove", _this.onmousemove,   true);
            document.addEventListener("mouseup",   _this.onmouseup, true);
            event.preventDefault();
        }

        _tracker = _this;
        _this._object = this;

    }

    this.onmousemove = function(event)
    {
        _this = _tracker;

        var x = 0;
        var y = 0;


        if (_this.isIE) 
        {
            x = window.event.clientX + document.documentElement.scrollLeft
              + document.body.scrollLeft;
            y = window.event.clientY + document.documentElement.scrollTop
              + document.body.scrollTop;
        }
        else
        {
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
        }

        _this._object.style.left = (_this.divStartX + x - _this.cursorStartX) + "px";
        _this._object.style.top  = (_this.divStartY   + y - _this.cursorStartY) + "px";

        if (_this.isIE) 
        {
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        }
        else
        {
            event.preventDefault();
        }
    }

    this.onmouseup = function()
    {
         _this = _tracker;
        if (_this.isIE) 
        {
            document.detachEvent("onmousemove", _this.onmousemove);
            document.detachEvent("onmouseup",   _this.onmouseup);
        }
        else
        {
            document.removeEventListener("mousemove", _this.onmousemove,   true);
            document.removeEventListener("mouseup",   _this.onmouseup, true);
        }
        _tracker = null;
        
    }

   this.Init();
}


/*FunctionToRefreshCaptchaImage*/
function refreshCaptchaCode()
	{
	var img = document.images['captchaImage'];
	img.src="Apps/ContactForm/CaptchaImage.php"+"?rand="+Math.random()*1000;
	}


