// Ecolish.com default JS file

/*
	Form validation functions
*/

// Global variables
var errorMessage 	= 'An error has occured: \r\n';
var passed 			= true;

function addError(string){
	if(passed)
		passed = false;
		errorMessage += '- '+string+'\r\n'
}

function printError(){
	alert(errorMessage);
	errorMessage = 'An error has occured: \r\n';
	passed = true;
}

function fixPostcode(postCode,objectName){
	if(postCode.length < 7){
		td = postCode.substr(0,4);
		if(postCode.length == 6){
			td += ' ';
			td += postCode.substr(4,2).toUpperCase();
		}				
	}

	if(postCode.length == 7){
		td = postCode.substr(0,5);
		td += postCode.substr(5,2).toUpperCase();
	}
	document.getElementById(objectName).value = td;
}

function lengthCheck(elementName, length){
	if(document.getElementById(elementName).value.length < length){
		return false;
	}else{
		return true;
	}
}

function checkPostalCode(textBox){	
	success = true;
	if(lengthCheck(textBox,7)){
		if(!isInteger(document.getElementById(textBox).value.substr(0, 4))){
			success = false;
		}
		
		if(!isAlphabetic(document.getElementById(textBox).value.substr(5, 2))){
			success = false;
		}
		
		if(document.getElementById(textBox).value.substr(4,1) != ' '){
			success = false;
		}
		
	}else{
			success = false;
	}
	if(!success){
		document.getElementById(textBox).className = 'inputError';
		return false;
	}else{
		document.getElementById(textBox).className = 'formElements';
		return true;
	}
}

function checkMultiple(elementName){
	retVar = false;
	for(y = 0; y < document.getElementsByName(elementName).length; y++){
		if(document.getElementsByName(elementName)[y].checked){
			retVar = true;
		}
	}
	return retVar;
}

function ucFirst(str){
	if(str.length > 0){
		first = str.substr(0,1).toUpperCase();
		return first + str.substr(1,str.length-1);
	}else{
		return str.toUpperCase();
	}
}

function isEmail (s)
{   if (isEmpty(s)) 
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);
   
    if (isWhitespace(s)) return false;
    
    var i = 1;
    var sLength = s.length;

    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++;
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;

    while ((i < sLength) && (s.charAt(i) != "."))
    { i++;
    }

    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}

function isWebsite (string){
	if (isWhitespace(string)) return false;
	if (string.substr(0,7) == 'http://'){
		return true;
	}else{
		return false;
	}
}

function getRadioValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function explodeArray(item, delimiter) {
	if(item.length == 0){
		return Array();
	}
	tempArray = new Array(1);
	var Count = 0;
	var tempString = new String(item);

	while(tempString.indexOf(delimiter) > 0) {
    	tempArray[Count] = tempString.substr(0, tempString.indexOf(delimiter));	
	    tempString = tempString.substr(tempString.indexOf(delimiter)+1, tempString.length-tempString.indexOf(delimiter) + 1); 
    	Count = Count + 1;
	}

	tempArray[Count]=tempString;
	return tempArray;
}

function validateForm(formName){
	switch(formName){
		case 'formNewThread':
			if(!lengthCheck('threadTitle', 1)){
				addError('The title of the thread is still empty, please type a title');
				document.getElementById('threadTitle').className = 'formElementsError';
			}else{
				document.getElementById('threadTitle').className = 'formElements';
			}
			if(!lengthCheck('posterName', 1)){
				addError('Please fill in your name');
				document.getElementById('posterName').className = 'formElementsError';
			}else{
				document.getElementById('posterName').className = 'formElements';
			}
			if(!lengthCheck('posterEmail', 1)){
				addError('Please fill in your e-mail address');
				document.getElementById('posterEmail').className = 'formElementsError';
			}else{
				document.getElementById('posterEmail').className = 'formElements';
			}
			break;
		case 'formCreateDirectory':
			if(!lengthCheck('directoryName', 1)){
				addError('The directory name is empty, please type a name for the directory you wish to create');
				document.getElementById('directoryName').className = 'formElementsError';
			}else{
				document.getElementById('directoryName').className = 'formElements';
			}
			break;
		case 'formUploadFile':
			if(!lengthCheck('file', 1)){
				addError('Please select a file to upload');
				document.getElementById('file').className = 'formElementsError';
			}else{
				document.getElementById('file').className = 'formElements';
			}
			if(!lengthCheck('displayName', 1)){
				addError('Please give a name for the file, this name will be used after the file is uploaded');
				document.getElementById('displayName').className = 'formElementsError';
			}else{
				document.getElementById('displayName').className = 'formElements';
			}
			break;
		case 'formAddLink':
			if(!lengthCheck('name', 1)){
				addError('Please enter a name for the link');
				document.getElementById('name').className = 'formElementsError';
			}else{
				document.getElementById('name').className = 'formElements';
			}
			if(!lengthCheck('url', 5)){
				addError('Please enter a url, starting with \' http:// \'');
				document.getElementById('url').className = 'formElementsError';
			}else{
				document.getElementById('url').className = 'formElements';
			}
			break;
		case 'formModifyLink':
			if(!lengthCheck('name', 1)){
				addError('Please enter a name for the link');
				document.getElementById('name').className = 'formElementsError';
			}else{
				document.getElementById('name').className = 'formElements';
			}
			if(!lengthCheck('url', 5)){
				addError('Please enter a url, starting with \' http:// \'');
				document.getElementById('url').className = 'formElementsError';
			}else{
				document.getElementById('url').className = 'formElements';
			}
			break;
	}
	if(passed){						
		document.getElementById(formName).submit();
		return true;
	}else{
		printError();
		return false;
	}
}

function changePicture(count, dir){
	var rand = 0;
	while(rand < 1){
		rand = Math.floor(Math.random()*(count + 1));
	}
	document.getElementById('locationPicture').src = 'img/default/locationPictures/'+dir+'/'+rand+'.png';
	setTimeout('changePicture('+count+', \''+dir+'\')',5000);
}