function arrayKeyFromStr(str, delimeter, key)
{
    var parts = str.split(delimeter);
    if(parts[key]) {
        return parts[key];
    }
    return false;
}

function isEmpty(s)
{
	if(s == null || s.length == 0) return true;
}

function isWhitespace(s)
{
	var whitespace = " \t\n\r";
	
    for(i = 0; i < s.length; i++) {   
        var c = s.charAt(i);
        if(whitespace.indexOf(c) == -1) {
			return false;
		}
    }
    return true;
}

function isEmail(s)
{
    if(s.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) {
        return true;
    }
    return false;
}

function ForceEntry(val)
{
	var strInput = new String(val);
    
	if(isWhitespace(strInput) || isEmpty(strInput)) {
        return false;
    }
    return true;
}

function popup(url, width, height)
{
	var winl = (screen.width - width) / 2;
	var wint = (screen.height - height) / 2;
	var features = 'width='+width+',height='+height+',toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes,left='+winl+',top='+wint+',screenX='+winl+',screenY='+wint+'';
	
	win = window.open(url, '', features);
	win.focus();
}

/* Ambernet namespace */
YAHOO.namespace("ambernet");

/* Language block */
var init_change_lang = function() {
    YAHOO.util.Event.addListener("changeLang", "mouseover", function(e) {
            YAHOO.util.Dom.setStyle("siteLangs", "display", "inline");
    });
    YAHOO.util.Event.addListener("changeLang", "mouseout", function(e) {
            YAHOO.util.Dom.setStyle("siteLangs", "display", "none");
    });
}
YAHOO.util.Event.onDOMReady(init_change_lang);

/* Autocomplete block */
var init_tags_autocomplete = function() {
    var oDS = new YAHOO.util.XHRDataSource(path+"parts/tags.php");
    oDS.responseType = YAHOO.util.XHRDataSource.TYPE_JSON;
    oDS.responseSchema = {resultsList: "resultSet.result", fields: ["title"]};
    var oAC = new YAHOO.widget.AutoComplete("tag", "tagsContainer", oDS);
    oAC.generateRequest = function(sQuery) {
        return "?lang="+lang+"&query=" + sQuery ; 
	};
	YAHOO.util.Event.addListener("tagSubmit", "click", function(e) {
	    if(ForceEntry(YAHOO.util.Dom.get("tag").value)) {
	        YAHOO.util.Dom.get("tags_form").submit();
	    } else {
	        YAHOO.ambernet.contacts_dialog_success.setHeader(translate[6]);
    	    YAHOO.ambernet.contacts_dialog_success.setBody(translate[0]);
    	    YAHOO.ambernet.contacts_dialog_success.show();
	    }
	    
    });
    return {
        oDS: oDS,
        oAC: oAC
    };
}
YAHOO.util.Event.onDOMReady(init_tags_autocomplete);

/* Contacts dialog block */
var dialog_header = '';
var init_contacts_dialog = function() {
    var elements = YAHOO.util.Selector.query(".contactsDialog");
    if(elements.length > 0) {
        var handleSubmit = function() {
            this.submit();
        }
        var handleCancel = function() {
            this.cancel();
        }
        var handleSuccess = function(o) {
            YAHOO.ambernet.contacts_dialog_success.setHeader(dialog_header);
            YAHOO.ambernet.contacts_dialog_success.setBody(o.responseText);
            YAHOO.ambernet.contacts_dialog_success.show();
    	};
    	var handleFailure = function(o) {
    	    YAHOO.ambernet.contacts_dialog_success.setHeader(translate[6]);
    	    YAHOO.ambernet.contacts_dialog_success.setBody(translate[1]);
    	    YAHOO.ambernet.contacts_dialog_success.show();
    	};
        
    	YAHOO.ambernet.contacts_dialog = new YAHOO.widget.Dialog("contacts_dialog_box", {width:"540px", fixedcenter:true, draggable:false, zindex:4, modal:true, visible:false, buttons:[{text:translate[2], handler:handleSubmit, isDefault:true}, {text:translate[3], handler:handleCancel}] });
        
        YAHOO.ambernet.contacts_dialog.validate = function() {
    		var data = this.getData();
    		if(!ForceEntry(data.f_firstname) || !ForceEntry(data.f_email) || !ForceEntry(data.f_message) || !ForceEntry(data.captcha)) {
    		    YAHOO.ambernet.contacts_dialog_success.setHeader(translate[6]);
    		    YAHOO.ambernet.contacts_dialog_success.setBody(translate[4]);
    		    YAHOO.ambernet.contacts_dialog_success.show();
    			return false;
    		} else if(!isEmail(data.f_email)) {
    		    YAHOO.ambernet.contacts_dialog_success.setHeader(translate[6]);
    		    YAHOO.ambernet.contacts_dialog_success.setBody(translate[5]);
    		    YAHOO.ambernet.contacts_dialog_success.show();
    		} else {
    			return true;
    		}
    	};
    	YAHOO.ambernet.contacts_dialog.callback = { success: handleSuccess, failure: handleFailure };
        YAHOO.ambernet.contacts_dialog.render();
        YAHOO.util.Event.addListener(elements, "click", function(e) {
            dialog_header = this.innerHTML.replace(/(<([^>]+)>)/ig, ""); 
            YAHOO.ambernet.contacts_dialog.setHeader(dialog_header);
            YAHOO.ambernet.contacts_dialog.show();
        });
        
        YAHOO.ambernet.contacts_dialog_success = new YAHOO.widget.Dialog("contacts_dialog_box_success", {width:"340px", fixedcenter:true, draggable:false, zindex:4, modal:true, visible:false, buttons:[{text:"OK", isDefault:true, handler:handleCancel}] });
        YAHOO.ambernet.contacts_dialog_success.render();
    }
}
YAHOO.util.Event.onDOMReady(init_contacts_dialog);
