/**
 * This file is added because search module uses formSubmitSpecial() custom function
 * TODO: Use jQuery functions. 
 */
function $E(tagName){
	return document.createElement(tagName);
}

function $R(url){
	document.location = url;
}

function formSubmit(formAction, formObj){
	formObj.action = formAction;
	formObj.submit();
}

function confirmSubmit(confirmQuestion, formAction, formObj){
	if(confirm(confirmQuestion)){
		formSubmit(formAction, formObj);
	}
}

function getFormElement (formObj, elementName) {
	var collObjects = formObj.elements;
	for (i=0; i<collObjects.length; i++) {
      if (collObjects[i].name == elementName) {
         return collObjects[i];
      }
   }
   return false;
}

function getSelectValue(selObject){
	for(i=0;i<selObject.options.length;i++){
		if(selObject.options[i].selected == true){
			return selObject.options[i].value;
		}
	}
}

function formSubmitSpecial(form){
	var query = SITE_PATH;
	
	var module, page;
	if((module = getFormElement(form, "module"))){
		query += module.value + "/";
	}
	if((page = getFormElement(form, "page"))){
		if(module.value != page.value){
			query += page.value + "/";
		}
	}
	
	for(var i=0;i<form.elements.length;i++){
		var elem = form.elements[i];
		var name = form.elements[i].name;
		var value = "";
		
		if(name == "module" || name == "page" || name == ""){
			continue;
		}
		
		if(elem.nodeName.toLowerCase() == 'input'){
			if(elem.type.toLowerCase() == 'checkbox'){
				if(elem.checked){
					value = 1;
				}
				else{
					continue;
				}
			}
			if(elem.type.toLowerCase() == 'radio'){
				if(elem.checked){
					value = encodeURIComponent(elem.value);
				}
				else{
					continue;
				}
			}
			else if(elem.type.toLowerCase() == 'text' ||
					elem.type.toLowerCase() == 'password' ||
					elem.type.toLowerCase() == 'hidden'){
				if(name == 'username'){
					elem.value = elem.value.replace(/\//g,'');
				}
				value = encodeURIComponent(elem.value);
			}
		}
		else if(elem.nodeName.toLowerCase() == 'select'){
			value = encodeURIComponent(getSelectValue(elem));
		}
		else if(elem.nodeName.toLowerCase() == 'textarea'){
			value = encodeURIComponent(elem.value);
		}
		
		query += name + ':' + value + '/';
	}
	$R(query);
	return false;
}

function getCursor(objId){
    if (document.selection) {
    		var obj = document.getElementById(objId);
            obj.focus ();
            var oSel = document.selection.createRange ();
            oSel.moveStart ('character', -obj.value.length);
            obj.blur();
    }
}

function checkBoxConteroller(checkbox){
	for(i=0; i<checkbox.form.elements.length; i++){
		if(checkbox.form.elements[i].type == "checkbox"){
			checkbox.form.elements[i].checked = checkbox.checked;
		}
	}
}

