//main js functions
//s d'agostino 29/05/2008 Craig Lodge

//submitting the form.....

function doAjax(strData, intFormID, doWhat, catID, doWhatSProc)
{
    //alert(strData);
    var page_request = false;
	var date = new Date();	var timestamp = date.getTime();
	var ajaxURL = (doWhatSProc != 'save') ? '../ajax.aspx?' : 'ajax.aspx?';
	var div = 'content-main';
    	
	var arr = {
		'dowhat' : doWhat,
		'data' : strData,
		'formID': intFormID,
		'doWhatSProc': doWhatSProc ,
		'catID': catID,
		'time' : timestamp
	}
	var data = ued_encode(arr);
	document.getElementById(div).innerHTML = "please wait...";
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
			page_request = new XMLHttpRequest()
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		}
		catch (e){
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP")
			}
			catch (e){
				alert('sorry, your browser does not support ajax - please upgrade to a newer version');
			}
		}
	}else return false

	page_request.onreadystatechange=function(){
		if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
			var return_array = page_request.responseText.split(",");
			document.getElementById(div).innerHTML = return_array;
		}	
	}
	
	strUrl = ajaxURL + data;
	
	//alert(strUrl)
	//document.write(strUrl);
	page_request.open('GET', strUrl, true);
	page_request.send(null);
}

function MakeNewSurvey(ownerID, venueID, locationID, userID)
{
    //alert(ownerID + ' ' + venueID+ ' ' + locationID+ ' ' + userID);return;
    var myForm = document.aspnetForm;
    var page_request = false;
	var date = new Date();	var timestamp = date.getTime();
	var doWhat = (venueID == -999) ? 'anonsurvey' : 'newsurvey';
	var ajaxURL = (locationID == -99) ? '../ajax.aspx?' : 'ajax.aspx?';
	var showURL = (venueID == -999) ? 'public/show.aspx?formID=' : 'show.aspx?formID=';
	if (locationID == -99) {showURL = 'show.aspx?formID=';}
	var div = (venueID == -999) ? 'errHolder' : 'status';
	var formID = 0;
	
	var arr = {
		'dowhat' : doWhat,
		'ownerID' : ownerID,
		'venueID': venueID,
		'locationID': locationID,
		'userID': userID,
		'time' : timestamp
	}
	var data = ued_encode(arr);
	document.getElementById(div).innerHTML = "please wait...";
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
			page_request = new XMLHttpRequest()
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		}
		catch (e){
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP")
			}
			catch (e){
				alert('sorry, your browser does not support ajax - please upgrade to a newer version');
			}
		}
	}else return false

	page_request.onreadystatechange=function(){
		if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){   
			var return_array = page_request.responseText.split(",");
			if (Left(return_array,4) == 'done')
			{
			    formID = return_array[0].replace(/done/gi,"");
			    location.href= showURL + formID;
                //document.getElementById(div).innerHTML =  formID;
			}
			else
			{
			    document.getElementById(div).innerHTML = 'ERR -> <br />' + return_array;
			}
		}
	}
	var strUrl = ajaxURL + data;
	//alert(strUrl);
	//document.write(strUrl);
	page_request.open('GET', strUrl, true);
	page_request.send(null);
}

function QuitDeatails(intFormID)
{
    //alert(intFormID);
    doAjax('x', intFormID, 'quit');
}

function SaveDeatails(intFormID, catID, isPublic)
{
    var myForm = document.aspnetForm;
    var strData= '';
    catID = (isNaN(catID)) ? 99 : catID;
    var doWhatSproc = (isPublic) ? 'savepublic' : 'save';
    //alert(doWhatSproc);return false;
    for(i=0; i< myForm.elements.length; i++)
    {
        elem = myForm.elements[i];
        if (Left(elem.id, 3) == "ans")
        {
            elType = elem.type;
            switch(elType)
            {
                case 'checkbox':
                    strData += elem.id + '~' + elem.checked + '~0|';
                    break;
                    
                case 'textarea':
                    strData += elem.id + '~' + encodeURIComponent(elem.value)+ '~0|';
                    break;
                    
                case 'select-one':
                    strData += elem.id + '~' + encodeURIComponent(elem.value)+ '~ ' + elem.value + '|';
                    break;
                
                default:
                    strData += elem.id + '~' + encodeURIComponent(elem.value)+ '~0|';
                    break;
            }
        }
    }
    //alert(strData);return false;
    doAjax(strData, intFormID, 'save', catID, doWhatSproc);
}

function NextButton(formID, catID, isPublic)
{
    //alert(formID +  ' ,' + catID + ',' + isPublic);
    SaveDeatails(formID, catID, isPublic);
    window.scrollTo(100,100);
}


/////////////////////////////////////////////////
/////////////////////////////////////////////////



function checkme(questID, ansID)
{
    var myForm = document.aspnetForm;
    //alert(eval('myForm.question_' + questID + '.length'));
    for(i=0; i<eval('myForm.question_' + questID + '.length'); i++){
		if(eval('myForm.question_' + questID + '[i].checked')){
		    
		    if (eval('myForm.question_' + questID + '[i].id != "answer_' + ansID + '"'))
		    {
			    eval('myForm.question_' + questID + '[i].checked = false');
			}
		}
	}
	
    return false;
}

function newsurvey()
{
    var intOwnerID = document.getElementById("ownerDropDownList").Value;
    alert(intOwnerID);
}
//change style of textareas
function setbg(who, color)
{
    var txtcolor = '';
    var fontcolor = '';
    switch (color)
    {
        case 'in':
            txtcolor = 'white';
            fontcolor = '#616161';
            break;
        
        case 'out':
            txtcolor = '#363839';
            fontcolor = '#b9c5c5';
            break;
        
        default:
            txtcolor = '#363839';
            fontcolor = '#b9c5c5';
    } 
    document.getElementById(who).style.background = txtcolor;
    document.getElementById(who).style.color = fontcolor;
}

function NewSurveyQ()
{
    var answer = confirm('Do you want to save this survey and start a new one?');
    if (answer) {
        return true;
    }
    else {
        return false;
    }
}
function NewSurveyA()
{
    var answer = confirm('Have you finished filling in this survey?');
    if (answer) {
        return true;
    }
    else {
        return false;
    }
}

function SaveExit()
{
    var answer = confirm('Do you want to save this survey and Quit?');
    if (answer) {
        return true;
    }
    else {
        return false;
    }
}
function Exit()
{
    var answer = confirm('Do you want to delete this form?\nThis action can NOT be undone!');
    if (answer) {
        return true;
    }
    else {
        return false;
    }
}


//Misc Functs

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

function ued_encode(arr,current_index) {
	var query = ""
	if(typeof current_index=='undefined') current_index = '';

	if(typeof(arr) == 'object') {
		var params = new Array();
		for(key in arr) {
			var data = arr[key];
			var key_value = key;
			if(current_index) {
				key_value = current_index+"["+key+"]"
			}

			if(typeof(data) == 'object') {
				if(data.length) { //List
					for(var i=0;i<data.length; i++) {
						params.push(key_value+"[]="+ued_encode(data[i],key_value)); //:RECURSION:
					}
				} else { //Associative array
					params.push(ued_encode(data,key_value)); //:RECURSION:
				}
			} else { //String or Number
				params.push(key_value+"="+encodeURIComponent(data));
			}
		}
		query = params.join("&");
	} else {
		query = encodeURIComponent(arr);
	}

	return query;
}

function Flash(arg)
{
    //alert(arg);
    switch (arg)
    {
        case 'H':
            path = 'gallery/haddington/';
            break;
        case 'P':
            path = 'gallery/prestonpans/';
            break;
        case 'M':
            path = 'gallery/musselburgh/';
            break;
        case 'D':
            path = 'gallery/dunbar/';
            break;
        case 'N':
            path = 'gallery/northberwick/';
            break;
        case 'T':
            path = 'gallery/tranent/';
            break;
        case 'Z':
            path = 'gallery/prize/';
            break;
        case 'C':
             path = 'gallery/callum/';
            break;
            //launch
        case 'BTS':
             path = 'gallery/BTS/';
             break;
        case 'BD':
             path = 'gallery/dance/';
             break;
        case 'BB':
             path = 'gallery/basketball/';
             break;
        case 'B': 
             path = 'gallery/bikes/';
             break;
        case 'G':
             path = 'gallery/general/';
             
            break;
        default:
        alert('path not found');
    }
    var myFlashObject = new FlashObject(path + "gallery.swf", "gallery", "100%", "100%", 6, "#ffffff");
    myFlashObject.addParam("scale", "noscale");
    myFlashObject.addVariable("request", getQueryParamValue("image"));
    myFlashObject.addVariable("photosXmlFile", path + "photos.xml");
    myFlashObject.addVariable("configXmlFile",  "gallery/galleryconfig.xml");

    //document.getElementById('flashcontent').innerHTML =  
    myFlashObject.write('flashcontent');
    
    
}
