var isExtended = 0;
var height = 385;
var width = 325;
var slideDuration = 1000;
var opacityDuration = 500;

var xmlHttp;

var title = "";

function extendContract(){
	if(isExtended == 0){
		sideBarSlide(0, height, 0, width, 'btnContentsInnerDiv');
		sideBarSlide(15, height + 15, 75, width, 'btnContentsDiv');
		sideBarOpacity(0, 1);
		isExtended = 1;
	}
	else{
		sideBarSlide(height, 0, width, 0, 'btnContentsInnerDiv');
		sideBarSlide(height + 15, 15, width, 75, 'btnContentsDiv');
		sideBarOpacity(1, 0);
		isExtended = 0;
	}
}

function extent(){
	sideBarSlide(0, height, 0, width, 'btnContentsInnerDiv');
	sideBarSlide(15, height + 15, 75, width, 'btnContentsDiv');
	sideBarOpacity(0, 1);
	isExtended = 1;
}

function retract(reloadForm){
    sideBarSlide(height, 0, width, 0, 'btnContentsInnerDiv');
	sideBarSlide(height + 15, 15, width, 75, 'btnContentsDiv');
	sideBarOpacity(1, 0);
	isExtended = 0;
	
	if(reloadForm){
	    var subject = "";
    
        if(document.getElementById("subjectTxtbx") != null){
            subject = replaceCharacters(document.getElementById("subjectTxtbx").value);
        }
	    setTimeout(fetchUrlForDiv("http://www.safarimappers.com/enquire.aspx?whatToDo=1&subject=" + subject, "Loading..."), slideDuration + 20);
	}
}

function sideBarSlide(fromHeight, toHeight, fromWidth, toWidth, divID){
	var myEffects = new Fx.Styles(divID, {duration: slideDuration, transition: Fx.Transitions.linear});
	
	myEffects.custom({
		 'height': [fromHeight, toHeight],
		 'width': [fromWidth, toWidth]
	});
}

function sideBarOpacity(from, to){
	var myEffects = new Fx.Styles('btnContentsInnerDiv', {duration: opacityDuration, transition: Fx.Transitions.linear});
	
	myEffects.custom({
		 'opacity': [from, to]
	});
}

function GetXmlHttpObject(){
    var xmlHttp = null;

    try{
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    }catch(e){
        // Internet Explorer
        try{
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }catch(e){
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }

    return xmlHttp;
}

function fetchUrlForDiv(url, titleChange){
    xmlHttp = GetXmlHttpObject();
    
    if(titleChange != ""){
        title = document.getElementById("btnContentsMainHeadingDiv").innerHTML;
        document.getElementById("btnContentsMainHeadingDiv").innerHTML = titleChange;
    }
    if(xmlHttp == null){
        alert ("Your browser does not support AJAX!");
        return;
    }
    xmlHttp.onreadystatechange = stateChangeForDiv;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null); 
}

function stateChangeForDiv(){
    if(xmlHttp.readyState == 4){
        document.getElementById("btnContentsInnerDiv").innerHTML = xmlHttp.responseText;
        
        if(title != ""){
            document.getElementById("btnContentsMainHeadingDiv").innerHTML = title;
            title = "";
        }
    }
}

function sendEmail(){
    var enquirersName = document.getElementById("enquirersNameTxtBx").value;
    var emailAddress = document.getElementById("emailAddressTxtBx").value;
    var subject = document.getElementById("messageSubjectDiv").innerHTML;
    var message = document.getElementById("messageTextTxtAr").value;
    var url = "http://www.safarimappers.com/enquire.aspx?whatToDo=2";
    
    if(enquirersName != "" && emailAddress != ""){
        if(echeck(emailAddress)){
            url += "&enquirersName=" + replaceCharacters(enquirersName);
            url += "&emailAddress=" + replaceCharacters(emailAddress);
            url += "&subject=" + replaceCharacters(subject);
            url += "&message=" + replaceCharacters(message);
            fetchUrlForDiv(url, "Loading...");
        }else{
            alert("Please ensure that you have entered in a valid Email Address!");
        }
    }else{
        alert("Please ensure that you have entered in your Name and Email Address!");
    }
}

/*
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
*/

function echeck(str) {
    var at = "@";
    var dot = ".";
    var lat = str.indexOf(at);
    var lstr = str.length;
    var ldot = str.indexOf(dot);

    if(str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr){
       return false;
    }
    if(str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr){
        return false;
    }
    if(str.indexOf(at, (lat + 1)) != -1){
        return false;
    }
    if(str.substring(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot){
        return false;
    }
    if(str.indexOf(dot, (lat + 2)) == -1){
        return false;
    }
    if(str.indexOf(" ") != -1){
        return false;
    }
    
    return true;
}

function init(){
    var subject = "";
    
    if(document.getElementById("subjectTxtbx") != null){
        subject = replaceCharacters(document.getElementById("subjectTxtbx").value);
    }
	fetchUrlForDiv("http://www.safarimappers.com/enquire.aspx?whatToDo=1&subject=" + subject, "Loading...");
	$('btnContentsMainHeadingDiv').addEvent('click', function(){extendContract();});
}

window.addEvent('load', function(){init();});