// JavaScript Document //
window.onload = function () {
}

function loadPage(url)
{
        window.location.replace(url);
}

function editorInit() {
    tinyMCE.init({
        mode : "none",
        theme : "advanced",
        width : "100%",
        theme_advanced_buttons1: "bold,italic,underline,bullist, undo, redo",
        theme_advanced_buttons2: "",
        theme_advanced_buttons3: ""

});
}

function overlayBox1() {
	$('overlay').show();
	$('overlayBox1').show();
	
	
    //$('overlay').style.visibility = ($('overlay').style.visibility == 'hidden')? 'visible' : 'hidden';
	//$('overlayBox1').style.visibility = ($('overlayBox1').style.visibility == 'hidden')? 'visible' : 'hidden';
	/*
	var divHeight = $('overlayBox1').getHeight();
	var screenHeight = document.viewport.getHeight();
	var topOffset = screenHeight - divHeight;
	topOffset = Math.round(topOffset/2);
	
	if (topOffset < 0) topOffset = 1;
	
	topOffset = topOffset + document.viewport.getScrollOffsets().top;
	
	$('overlayBox1').style.top = topOffset+'px';
*/
	this.close = function () {
		$('overlayBox1').hide();
		$('overlay').hide();
	}
}

function overlayBox2() {

	$('overlay').show();
	$('overlayBox2').show();

	this.close = function () {
		$('overlayBox2').hide();
		$('overlay').hide();
	}
}
function login()
{
    if (!document.getElementById) return;

    var username = document.getElementById('username').value;
    var password = document.getElementById('password').value;

    new Ajax.Request('/XHttp/login.php', {
        method: 'post',
        parameters: {user: username, pass: password},
        onComplete: function(transport){
             eval(transport.responseText);
        }
    });

}

function loginFailed()
{
    new Effect.Highlight('message', { startcolor: '#ffff99',endcolor: '#ffffff' });
    document.getElementById("message").innerHTML="Käyttäjänimi tai salasana ei kelpaa.";
}

function clearInputs()
{
    if (!document.getElementById) return;

    document.getElementById('customer').value = "";
    document.getElementById('username').value = "";
    document.getElementById('password').value = "";
    document.getElementById('email').value = "";

}

function submitForm(formObj, resultDiv)
{
	new Ajax.Request(formObj.action, {
        method: 'post',
        parameters: formObj.serialize(true),
        onComplete: function(transport){
            
            var responseJS = new Array();
            formObj.reset();
            
            $(resultDiv).innerHTML = transport.responseText;
            //var x = transport.responseText;
            //for (var i in responseJS) alert('responseJS[\''+i+'\'] is ' + responseJS[i])

			//var regexp = new RegExp("<script>","i");
			//var match = transport.responseText.match(regexp);
			//alert($(resultDiv).innerHTML.$$('script'));
			
			var responseJS = $(resultDiv).getElementsByTagName('script');
			for (var i = 0; i < responseJS.length; i++) eval(responseJS[i].innerHTML);
            
            if (resultDiv == 'addCustomer_msg' || resultDiv == 'delCustomer_msg' || resultDiv == 'changePassword_msg') {
                updateCustomers();   
            }
        }
    });
}

function addMessage(fileID, formObj)
{
    var ed = tinyMCE.get('row'+fileID+'_textarea');
    ed.setProgressState(1);
    var msg = ed.getContent();

    new Ajax.Request(formObj.action, {
        method: 'post',
        parameters: {message:msg},
        onComplete: function(transport){
            ed.setProgressState(0);
            tinyMCE.getInstanceById('row'+fileID+'_textarea').setContent('');
            tinyMCE.execCommand('mceRemoveControl', false, 'row'+fileID+'_textarea');
            
            updateFileMsgsField(fileID);
        }
    });
}

function showCal()
{
   document.getElementById("Calendar").style.display = "block";
}

function chMon(month, year, s)
{
    showCal();
    new Ajax.Updater( 'Calendar','/XHttp/xC.php',{
    parameters: { y: year, m: month }
    });

}

function selectDay(date)
{
    document.getElementById('dl').value = date;
    document.getElementById('Calendar').style.display = "none";
}

function showAddCustomer()
{
      $('addcustomer').style.visibility = ($('addcustomer').style.visibility == 'hidden')? 'visible' : 'hidden';
}

function hidehideAddCustomer()
{
     document.getElementById('addcustomer').style.visibility = "hidden";
}

function OldOrders()
{
    $('oldorders').style.display = 'block';
    $('activeorders').style.display = 'none';
    $('neworders').style.display = 'none';
}

function ActiveOrders()
{
    $('oldorders').style.display = 'none';
    $('activeorders').style.display = 'block';
    $('neworders').style.display = 'none';
}

function NewOrder()
{
    $('oldorders').style.display = 'none';
    $('activeorders').style.display = 'none';
    $('neworders').style.display = 'block';
}

function showMaterial()
{
    $('order').style.display = 'none';
    $('material').style.display = 'block';
}

function showOrder()
{
    $('order').style.display = 'block';
    $('material').style.display = 'none';
}

function showComments(obj, fileID)
{
    obj = obj.parentNode;
    var files = $('filelist').childNodes;

    if (obj.className == 'row') {
        for (i=0; i<files.length ;i++) {
            if (files[i].nodeName == 'DIV') {
                if ($(files[i].id).className == 'fileremoved') continue;

                $(files[i].id+'_msg').style.display = 'none';
                $(files[i].id).className = 'row';
                tinyMCE.execCommand("mceRemoveControl", false, files[i].id+'_textarea');
            }

        }

        obj.className = 'row_selected';
        $('row'+fileID+'_msg').style.display = 'block';
        
        getMsgs(fileID, 'row'+fileID+'_msg');
    }

    else {
        $('row'+fileID+'_msg').style.display = 'none';
        obj.className = 'row';
        return;
    }
}

function getMsgs(fileID, obj)
{

    tinyMCE.execCommand('mceRemoveControl', false, 'row'+fileID+'_textarea');

    new Ajax.Updater('row'+fileID+'_msg','/XHttp/get_file_msgs.php',{
        method: 'get',
        parameters: { file_id: fileID },
        onComplete: function(transport) {
            tinyMCE.execCommand('mceAddControl', false, 'row'+fileID+'_textarea');
        }

    });

}


function editComment(msgID, formValue){

    new Ajax.Updater('comment'+msgID, '/XHttp/getMsg.php', {
        method: 'get',
        parameters: {msg_id: msgID, form: formValue},
        onComplete: function(transport) {
            tinyMCE.execCommand('mceAddControl', false, 'messagebox'+msgID);
        }

    });
}

function saveEditedMsg(formObj, msgID, orderID)
{
    var ed = tinyMCE.get('messagebox'+msgID);
    ed.setProgressState(1);
    var msg = ed.getContent();

    new Ajax.Request(formObj.action, {
        method: 'post',
        parameters: {message: msg, message_id: msgID},
        onComplete: function(transport) {
            ed.setProgressState(0);
            
            updateMsgsField(orderID);
            tinyMCE.execCommand('mceRemoveControl', false, 'messagebox'+msgID);
        }

    });
}

function updateMsgsField(orderID)
{
    $('orders_comments').style.display = 'block';
    new Ajax.Updater('orders_comments', '/XHttp/get_order_msgs.php', {
        method: 'get',
        parameters: {orderID: orderID},
        onComplete: function(transport) {
        }
    });

}

function addOrderMessage(formObj,orderID)
{
    var ed = tinyMCE.get('messagebox');
    ed.setProgressState(1);
    var msg = ed.getContent();

    if (msg == ''){
        alert('Viesti kenttä on tyhjä!');
        ed.setProgressState(0);

    } else {
        
        new Ajax.Request(formObj.action, {
            method: 'post',
            parameters: {message:msg},
            onComplete: function(transport){
                ed.setProgressState(0);
                tinyMCE.getInstanceById('messagebox').setContent('');
                
                updateMsgsField(orderID);
    
            }
        });
    
    }
}


function closeMsgBox(msgID,orderID)
{
   updateMsgsField(orderID);
   tinyMCE.execCommand('mceRemoveControl', false, 'messagebox'+msgID);

}

function saveEditedFileMsg(formObj, msgID, fileID)
{
    var ed = tinyMCE.get('messagebox'+msgID);
    ed.setProgressState(1);
    var msg = ed.getContent();

    new Ajax.Request(formObj.action, {
        method: 'post',
        parameters: {message: msg, message_id: msgID},
        onComplete: function(transport) {
            ed.setProgressState(0);
            tinyMCE.execCommand('mceRemoveControl', false, 'messagebox'+msgID);
            
            getMsgs(fileID, 'row'+fileID+'_msg');
        }

    });
}

function closeFileMsgBox(msgID,fileID)
{
    tinyMCE.execCommand('mceRemoveControl', false, 'messagebox'+msgID);
    getMsgs(fileID, 'row'+fileID+'_msg');

}

function updateFileMsgsField(fileID)
{
    new Ajax.Updater('row'+fileID+'_msg', '/XHttp/get_file_msgs.php', {
        method: 'get',
        parameters: {file_id: fileID},
        onComplete: function(transport) {
            tinyMCE.execCommand('mceAddControl', false, 'row'+fileID+'_textarea');
        }
    });

}

function editFileComment(msgID, formValue){

    new Ajax.Updater('comment'+msgID, '/XHttp/getFileMsg.php', {
        method: 'get',
        parameters: {msg_id: msgID, form: formValue},
        onComplete: function(transport) {
            tinyMCE.execCommand('mceAddControl', false, 'messagebox'+msgID);
        }

    });
}

function showMessages(fileID)
{
    $('row'+fileID).className = 'row_selected';
    $('row'+fileID+'_msg').style.display = 'block';
    getMsgs(fileID, 'row'+fileID+'_msg');

}

function deleteFile(fileID)
{
    new Ajax.Request('/XHttp/deleteFile.php', {
        method: 'post',
        parameters: {fileID: fileID},
        onComplete: function(transport){
            $('row'+fileID).className = 'fileremoved';
			document.getElementById('row'+fileID).innerHTML = 'Tiedosto poistettu';
        }
    });

}

function showProjectLogos()
{
    $('projectLogos').style.display = 'block';
    $('projectPics').style.display = 'none';
    $('projectHelps').style.display = 'none';
    $('projectOther').style.display = 'none';
    $('projectNew').style.display = 'none';
}

function showProjectPics()
{
    $('projectLogos').style.display = 'none';
    $('projectPics').style.display = 'block';
    $('projectHelps').style.display = 'none';
    $('projectOther').style.display = 'none';
    $('projectNew').style.display = 'none';
}

function showProjectHelps()
{
    $('projectLogos').style.display = 'none';
    $('projectPics').style.display = 'none';
    $('projectHelps').style.display = 'block';
    $('projectOther').style.display = 'none';
    $('projectNew').style.display = 'none';
}

function showProjectOther()
{
    $('projectLogos').style.display = 'none';
    $('projectPics').style.display = 'none';
    $('projectHelps').style.display = 'none';
    $('projectOther').style.display = 'block';
    $('projectNew').style.display = 'none';
}

function ProjectNewFile()
{
    $('projectLogos').style.display = 'none';
    $('projectPics').style.display = 'none';
    $('projectHelps').style.display = 'none';
    $('projectOther').style.display = 'none';
    $('projectNew').style.display = 'block';
}

function updateCustomers()
{
    new Ajax.Updater('customersList', '/XHttp/get_customers.php', {
    });
}

function showProjectComments(obj, fileID, category)
{
    obj = obj.parentNode;
    var files = $(category+'_filelist').childNodes;

    if (obj.className == 'row') {
       
        for (i=0; i<files.length ;i++) {
            if (files[i].nodeName == 'DIV') {
                if ($(files[i].id).className == 'fileremoved') continue;

                $(files[i].id+'_msg').style.display = 'none';
                $(files[i].id).className = 'row';
                tinyMCE.execCommand("mceRemoveControl", false, files[i].id+'_textarea');
            }

        }

        obj.className = 'row_selected';
        $('row'+fileID+'_msg').style.display = 'block';
        getMsgs(fileID, 'row'+fileID+'_msg');

    }

    else {
        $('row'+fileID+'_msg').style.display = 'none';
        obj.className = 'row';
        return;
    }
}

function updateFiles(projectID, customerID, orderID)
{
   
    
	if(customerID != null && projectID != null) {
		location.href='/project.php?customer_id='+customerID+'&project_id='+projectID;
    }
	if(orderID != null) {
		location.href='/order.php?order_id='+orderID;
    }
	if(customerID != null && orderID == null && projectID == null) {
		location.href='/logos.php?customer_id='+customerID;
    }
}

function getSuggestionFiles(orderID)
{
    new Ajax.Updater('suggestionFiles', '/XHttp/get_suggestion_files.php', {
    method: 'get',
    parameters: {orderID: orderID}
    });
}

function getMaterialFiles(orderID)
{
    new Ajax.Updater('materialFiles', '/XHttp/get_material_files.php', {
    method: 'get',
    parameters: {orderID: orderID}
    });
}

function updateOrder(formObj, resultDiv, orderID)
{
    new Ajax.Request(formObj.action, {
        method: 'post',
        parameters: formObj.serialize(true),
        onComplete: function(transport){
            var responseJS = new Array();
            formObj.reset();
            $(resultDiv).innerHTML = transport.responseText;
            responseJS = $(resultDiv).getElementsByTagName('script');
            for (var i = 0; i < responseJS.length; i++) eval(responseJS[i].innerHTML);
            
            updateOrderDetails(orderID);
        }
    });
}

function updateOrderDetails(orderID)
{
    new Ajax.Updater('updateOrder', '/XHttp/update.php', {
    method: 'get',
    parameters: {orderID: orderID}
    });
}

function projectGroupMenu(customerID) {
	if ($('projectGroupMenu').style.display == 'none')	{
		$('projectGroupMenu').style.display = "block";
		
		if ($('projectGroupMenu').innerHTML == "") {
			new Ajax.Updater('projectGroupMenu', '/XHttp/update_project_group.php', {
			method: 'get',
			parameters: {customerID: customerID}
			});
		}
		
	} else $('projectGroupMenu').style.display = "none";
}

function getCheckboxValue() {
    var form = $('delete_customer');
    var checkboxValue = 0;

    inputs = form.getElementsByTagName('input');
    links = form.getElementsByTagName('a');

    for (i=0;i<inputs.length;i++) {
        if (inputs[i].type=='checkbox' && inputs[i].checked) { 
            checkboxValue = (inputs[i].value); // username
            cName = links[i].innerHTML; // customer name
        }
    }

    return [checkboxValue,cName];

}

function selectFileUploader() {


	if ($('form_newfile').style.display == "none" && $('flash_newfile').style.display == "block") {
		$('form_newfile').style.display = "block";
		$('flash_newfile').style.display = "none";
		
	} else {
		$('flash_newfile').style.display = "block";
		$('form_newfile').style.display = "none";
		
	}
	
	if ($('material_form_newfile').style.display == "none" && $('material_flash_newfile').style.display == "block") {
		$('material_form_newfile').style.display = "block";
		$('material_flash_newfile').style.display = "none";
		
	} else {
		$('material_flash_newfile').style.display = "block";
		$('material_form_newfile').style.display = "none";
		
	}
	
}

function submitNewsLetter(formID)
{    
	new Ajax.Request( $(formID).action, {
        method: 'post',
        onComplete: function(transport){
           
            
            $("newsLetterMgs").innerHTML="Uutiskirje lähetetty.";
            new Effect.Fade('newsLetterMgs', { duration: 3.0});
            $(formID).reset();
            
        }
    });
    
}

var FileManager = {
		
        file: '',

        row: '',

        confirmDelete : function (file, obj) {
            $('confirmdelete').show();

            $('filename').update(file);

            this.file = file;
            this.row = obj.up(1);

        },

        cancelDelete : function () {
            $('confirmdelete').hide();
        },

        deleteFile : function () {
            new Ajax.Request(domainRoot+'filemanager.php', {
              parameters: {file: this.file},
              onSuccess: function(transport) {

              }
            });
        },

        removeRow : function () {
            $('confirmdelete').hide();
            Effect.SwitchOff(this.row);
        },

        addFolder: function () {
            var selectedfolder = $F('selectedfolder');
            var newfolder = $F('uploadsfolder') + selectedfolder + $F('newfolder');

            if ($F('newfolder') == "") return false;

            new Ajax.Request(domainRoot+'filemanager.php', {
              parameters: {newfolder: newfolder},
              onSuccess: function(transport) {
                window.location.href = domainRoot + "filemanager.php?folder=" + selectedfolder + "&viewonly=" + $F('viewonly');
              }
            });

        }
};

function getCustomerPsswd()
{
    overlayBox2();
    
    if (!$('username')) return;
    if (!$('customername')) return;
    
    var username = getCheckboxValue()[0]; 
    var customername = getCheckboxValue()[1];
    
    $('username').innerHTML = username;
    $('customername').innerHTML = customername;
    
    new Ajax.Request('/XHttp/showpass.php', {
        method: 'post',
        parameters: {username: username},
        onComplete: function (transport) {
            if (!$('customerpass')) return;
            $('customerpass').innerHTML = transport.responseText;
        }
        
    });
    

}



