// FUNCTIONS TABS
// (c) copyright 2008-2009  Dominik Dobosz
// Owner: Rafał Mazur { m | marketing & internet


// TABS

function showTab(select, count, tabID, contentID, optionalClass) {
    if (optionalClass == undefined) {
        optionalClass = '';
    } else {
        optionalClass = ' ' + optionalClass;
    }
    for( i=1; i<=count; i++ ) {
    	if(document.getElementById( contentID+i ) != undefined){
	        var old = document.getElementById( contentID+i );
	        old.style.display = 'none';
    	}  
        var oldMenu = document.getElementById( tabID+i );
        var classes = oldMenu.className;
        var positionSTB = classes.search('selected_tab');
        if (positionSTB > -1) {
            classes = classes.substr(0, positionSTB);
        }
        oldMenu.className = classes;
    	
    }
    if(document.getElementById( contentID+select ) != undefined){
	    var current = document.getElementById( contentID+select );
	    current.style.display = 'block';
    }
    var currentMenu = document.getElementById( tabID+select );
    var classes = currentMenu.className;
    if (classes != '') {
        currentMenu.className = classes+' selected_tab'+optionalClass;
    } else {
        currentMenu.className = 'selected_tab'+optionalClass;
    }
}





function isInt(x) {
	var y=parseInt(x);
	if (isNaN(y)) return false;
	return x==y && x.toString()==y.toString();
}


///////////////////////////////////////////////////////////////////////////
//
// TABS dla MENU
//
///////////////////////////////////////////////////////////////////////////

function showTabMenu(select, count, tabID, contentID) {
	for( i=1; i<=count; i++ ) {
		if(document.getElementById( contentID+i ) != undefined){
			console.log('chowamy contentID+i');
			var old = document.getElementById( contentID+i );
			old.style.display = 'none';
			var oldMenu = document.getElementById( tabID+i );
			var classes = oldMenu.className;
			classes = classes.replace(' selected_tab', '');
			classes = classes.replace('selected_tab', '');
			oldMenu.className = classes;
		}	
	}
	
	if(document.getElementById( contentID+select ) != undefined){
		var current = document.getElementById( contentID+select );
		current.style.display = 'block';
	}	
	var currentMenu = document.getElementById( tabID+select );
	var classes = currentMenu.className;
	if (classes != '') {
		currentMenu.className = classes+' selected_tab';
	} else {
		currentMenu.className = 'selected_tab';
	}
	
}





/*
	Funkcja służy do synchronizacji wartości pól dotyczących tej samej informacji.
*/
function sync_fields(fieldElement) {

	// wyciągam nazwę
	var fieldName = fieldElement.name;
	var formElement = fieldElement;
	var currentElement;
	var contentId = fieldElement.className;

    //sprawdzam czy element ma w klasach swoich taką mającą nazwę "sync_field_"
    var classIt = sync_fields_class_field(contentId);

    if (classIt != '') {

        //tak, element ma klasę synchronizacji pól

        var f = 0;

        for (f = 0; f < document.forms.length; f++) {

            for (e = 0; e < document.forms[f].elements.length; e++) {
                if ((document.forms[f].elements[e].type == fieldElement.type) && (sync_fields_class_find(document.forms[f].elements[e].className, classIt) == true)) {
                    switch (document.forms[f].elements[e].type) {
                        case 'text':       { document.forms[f].elements[e].value = fieldElement.value; break; }
                        case 'textarea':   { document.forms[f].elements[e].value = fieldElement.value; break; }
                        case 'password':   { document.forms[f].elements[e].value = fieldElement.value; break; }
                        case 'checkbox':   { document.forms[f].elements[e].checked = fieldElement.checked; break; }
                        case 'select-one': { select_value_in_select(document.forms[f].getAttribute('id'), document.forms[f].elements[e].name, fieldElement.options[fieldElement.options.selectedIndex].value); break; }
                        case 'select':     { select_value_in_select(document.forms[f].getAttribute('id'), document.forms[f].elements[e].name, fieldElement.options[fieldElement.options.selectedIndex].value); break; }
                    }
                }
            }

        }
    }
}

//funkcja do wyszukania klasy mającej w nazwie "sync_field_"
function sync_fields_class_field(className) {
    if (className != '') {
        var classes = className.split(' ');
        var foundField = false;
        i = 0;
        while ((i < classes.length) && (foundField == false)) {
            if (classes[i].search('sync_field_') > -1) {
                foundField = true;
                return classes[i];
            } else {
                i++;
            }
        }
        return '';
    } else {
        return '';
    }
}

//funkcja sprawdzajaca, czy w podanym ciągu klas znajduje się klasa o podanej nazwie
function sync_fields_class_find(className, findIt) {
    if (className.search(findIt) > -1) {
        return true;
    } else {
        return false;
    }
}


