// JavaScript Document

var ajaxObj = new XMLHTTP("/classes/mybic_server.php");

function saveForm(form) {
	ajaxObj.debug=0;
	ajaxObj.format = "TEXT";
	
	var formVars = ajaxObj.getForm(form);
	
	ajaxObj.call("action=post_save_form&form="+form+formVars, setResp);
	return false;
}

function saveAndCheck(array, form) {
	fail = false;
	//checking to make sure the fileds are not blank
	for(i=0;i<array.length; ++i) {
            var val_type = document.getElementById(array[i]).className.substring(0,5);
            var field_val = document.getElementById(array[i]).value;
            var regex = "";
            switch (val_type)
            {
                case 'nullv':
                    if(field_val == "")
                    {
                        fail = true;
                        document.getElementById(array[i]).className = "nullv fail";
                        document.getElementById("required").className = "fail";
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "nullv";
                    }
                break;
                case 'alphv':
                    regex=/^[a-zA-Zs' ']+$/;
                    if(!regex.test(field_val))
                    {
                        fail = true;
                        document.getElementById(array[i]).className = "alphv fail";
                        document.getElementById("required").className = "fail";
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "alphv";
                    }
                break;
                 case 'alopt':
                    if (field_val != "")
                    {
                        regex=/^[a-zA-Zs' ']+$/;
                        if(!regex.test(field_val))
                        {
                            fail = true;
                            document.getElementById(array[i]).className = "alopt fail2";
                            document.getElementById("optional").className = "fail2";
                            document.getElementById("optional").style.display = "inline";
                        }
                        else
                        {
                            document.getElementById(array[i]).className = "alopt";
                        }
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "alopt";
                    }

                break;
                case 'alpnv':
                    regex=/^[0-9a-zA-Zs' ']+$/;
                    if(!regex.test(field_val))
                    {
                        fail = true;
                        document.getElementById(array[i]).className = "alpnv fail";
                        document.getElementById("required").className = "fail";
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "alpnv";
                    }
                break;
                case 'anopt':
                    if (field_val != "")
                    {
                        regex=/^[0-9a-zA-Zs' ']+$/;
                        if(!regex.test(field_val))
                        {
                            fail = true;
                            document.getElementById(array[i]).className = "anopt fail2";
                            document.getElementById("optional").className = "fail2";
                            document.getElementById("optional").style.display = "inline";
                        }
                        else
                        {
                            document.getElementById(array[i]).className = "anopt";
                        }
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "anopt";
                    }
                break;
                 case 'zipsv':
                    regex=/^[0-9]+$/;
                    if(!regex.test(field_val) || field_val.length != 5)
                    {
                        fail = true;
                        document.getElementById(array[i]).className = "zipsv fail";
                        document.getElementById("required").className = "fail";
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "zipsv";
                    }
                break;
                 case 'phonv':
                    regex=/^[0-9]+$/;
                    var filterOut = "()-."
                    var stripped_val = "";
                    var iter = 0;
                    for (iter=0; iter < field_val.length; iter++)
                    {
                        var c = field_val.charAt(iter);
                        if (filterOut.indexOf(c) == -1) stripped_val += c;
                    }
                    field_val = stripped_val;
                    field_val = field_val.split(' ').join('');
                    if(!regex.test(field_val) || field_val.length < 10 || field_val.length > 11)
                    {
                        fail = true;
                        document.getElementById(array[i]).className = "phonv fail";
                        document.getElementById("required").className = "fail";
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "phonv";
                    }
                break;
                 case 'phopt':
                    if (field_val != "")
                    {
                        regex=/^[0-9]+$/;
                        var filterOut = "()-."
                        var stripped_val = "";
                        var iter = 0;
                        for (iter=0; iter < field_val.length; iter++)
                        {
                            var c = field_val.charAt(iter);
                            if (filterOut.indexOf(c) == -1) stripped_val += c;
                        }
                        field_val = stripped_val;
                        field_val = field_val.split(' ').join('');
                        if(!regex.test(field_val) || field_val.length < 10 || field_val.length > 11)
                        {
                            fail = true;
                            document.getElementById(array[i]).className = "phopt fail2";
                        }
                        else
                        {
                            document.getElementById(array[i]).className = "phopt";
                            document.getElementById("optional").className = "fail2";
                            document.getElementById("optional").style.display = "inline";

                        }
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "phopt";
                    }
                break;
                case 'emaiv':
                    regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
                    if(!regex.test(field_val))
                    {
                        fail = true;
                        document.getElementById(array[i]).className = "emaiv fail";
                        document.getElementById("required").className = "fail";

                    }
                    else
                    {
                        document.getElementById(array[i]).className = "emaiv";
                    }
                break;
            }

//		if(document.getElementById(array[i]).value == "") {
//			fail = true;
//			document.getElementById(array[i]).className = "fail";
//		}
	}
	
	if(!fail) {
		ajaxObj.debug=0;
		ajaxObj.format = "TEXT";
		
		var formVars = ajaxObj.getForm(form);
		
		ajaxObj.call("action=post_save_form&form="+form+formVars, setResp);
	
	} else {
		alert("Please fill out the required fields");	
	}
	return false;
}
function checkVal2(array) {
	fail = false;
	//checking to make sure the fileds are not blank
	for(i=0;i<array.length; ++i) {
            var val_type = document.getElementById(array[i]).className.substring(0,5);
            var field_val = document.getElementById(array[i]).value;
            var regex = "";
            switch (val_type)
            {
                case 'nullv':
                    if(field_val == "")
                    {
                        fail = true;
                        document.getElementById(array[i]).className = "nullv fail";
                        document.getElementById("required").className = "fail";
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "nullv";
                    }
                break;
                case 'alphv':
                    regex=/^[a-zA-Zs' ']+$/;
                    if(!regex.test(field_val))
                    {
                        fail = true;
                        document.getElementById(array[i]).className = "alphv fail";
                        document.getElementById("required").className = "fail";
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "alphv";
                    }
                break;
                 case 'alopt':
                    if (field_val != "")
                    {
                        regex=/^[a-zA-Zs' ']+$/;
                        if(!regex.test(field_val))
                        {
                            fail = true;
                            document.getElementById(array[i]).className = "alopt fail2";
                            document.getElementById("optional").className = "fail2";
                            document.getElementById("optional").style.display = "inline";
                        }
                        else
                        {
                            document.getElementById(array[i]).className = "alopt";
                        }
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "alopt";
                    }

                break;
                case 'alpnv':
                    regex=/^[0-9a-zA-Zs' ']+$/;
                    if(!regex.test(field_val))
                    {
                        fail = true;
                        document.getElementById(array[i]).className = "alpnv fail";
                        document.getElementById("required").className = "fail";
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "alpnv";
                    }
                break;
                case 'anopt':
                    if (field_val != "")
                    {
                        regex=/^[0-9a-zA-Zs' ']+$/;
                        if(!regex.test(field_val))
                        {
                            fail = true;
                            document.getElementById(array[i]).className = "anopt fail2";
                            document.getElementById("optional").className = "fail2";
                            document.getElementById("optional").style.display = "inline";
                        }
                        else
                        {
                            document.getElementById(array[i]).className = "anopt";
                        }
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "anopt";
                    }
                break;
                 case 'zipsv':
                    regex=/^[0-9]+$/;
                    if(!regex.test(field_val) || field_val.length != 5)
                    {
                        fail = true;
                        document.getElementById(array[i]).className = "zipsv fail";
                        document.getElementById("required").className = "fail";
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "zipsv";
                    }
                break;
                 case 'phonv':
                    regex=/^[0-9]+$/;
                    var filterOut = "()-."
                    var stripped_val = "";
                    var iter = 0;
                    for (iter=0; iter < field_val.length; iter++)
                    {
                        var c = field_val.charAt(iter);
                        if (filterOut.indexOf(c) == -1) stripped_val += c;
                    }
                    field_val = stripped_val;
                    field_val = field_val.split(' ').join('');
                    if(!regex.test(field_val) || field_val.length < 10 || field_val.length > 11)
                    {
                        fail = true;
                        document.getElementById(array[i]).className = "phonv fail";
                        document.getElementById("required").className = "fail";
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "phonv";
                    }
                break;
                 case 'phopt':
                    if (field_val != "")
                    {
                        regex=/^[0-9]+$/;
                        var filterOut = "()-."
                        var stripped_val = "";
                        var iter = 0;
                        for (iter=0; iter < field_val.length; iter++)
                        {
                            var c = field_val.charAt(iter);
                            if (filterOut.indexOf(c) == -1) stripped_val += c;
                        }
                        field_val = stripped_val;
                        field_val = field_val.split(' ').join('');
                        if(!regex.test(field_val) || field_val.length < 10 || field_val.length > 11)
                        {
                            fail = true;
                            document.getElementById(array[i]).className = "phopt fail2";
                        }
                        else
                        {
                            document.getElementById(array[i]).className = "phopt";
                            document.getElementById("optional").className = "fail2";
                            document.getElementById("optional").style.display = "inline";

                        }
                    }
                    else
                    {
                        document.getElementById(array[i]).className = "phopt";
                    }
                break;
                case 'emaiv':
                    regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
                    if(!regex.test(field_val))
                    {
                        fail = true;
                        document.getElementById(array[i]).className = "emaiv fail";
                        document.getElementById("required").className = "fail";

                    }
                    else
                    {
                        document.getElementById(array[i]).className = "emaiv";
                    }
                break;
            }

//		if(document.getElementById(array[i]).value == "") {
//			fail = true;
//			document.getElementById(array[i]).className = "fail";
//		}
	}
}
function assignUser(emp_id, req_id) {
	ajaxObj.debug=0;
	ajaxObj.format = "TEXT";
	
	ajaxObj.call("action=post_save_form&form=assign_user&emp_id="+emp_id+"&req_id="+req_id, nothing);
	return true;
}

function nothing(resp) {
	
}

function setResp(resp) {
	if(resp) {
		document.getElementById('content').innerHTML = resp;
	} else
		alert("ERROR:");
}

function deleteRow(form, id) {
	ajaxObj.debug=0;
	ajaxObj.format = "TEXT";
	
	if(confirm("Are you sure you want to delete this row?"))
		ajaxObj.call("action=post_save_form&form="+form+"&id="+id, setResp);
		
	return false;
}

function loadEdit(form, id) {
	ajaxObj.debug=0;
	ajaxObj.format = "TEXT";
	
	ajaxObj.call("action=post_save_form&form="+form+"&id="+id, setResp);
	return false;
}

var callback_image =
{
	upload: function(o) 
	{
		var resp = o.responseText.split(":");
		var div = document.getElementById('div'+resp[1]);
		div.parentNode.removeChild(div);
		
		var files = document.getElementById(resp[1]);
		files.style.display = "inline";
		files.value = "";
		
		var cell = document.getElementById('images');
		if(resp[0] == "success") 
		{
			var p = document.createElement('div');
			p.setAttribute('id', 'cell_'+resp[3]);
			p.setAttribute('style', 'clear:left;overflow:hidden;padding-bottom:5px;');
			p.innerHTML = "<img class=\"left_small\" src=\"/images/temp/temp_thumb/"+resp[2]+"\" alt=\"\" />Success: uploaded " + resp[2] + "<br /><a href=\"#\" onclick=\"return remove_file('"+resp[1]+"', '"+resp[3]+"')\";>remove</a>";
		
			cell.appendChild(p); 
		}
		else if(resp[0] == "failed") {
			var p = document.createElement('p');
			p.innerHTML = "Failed: did not upload " + resp[2] + "<br />" + resp[3];
			div.innerHTML = "";
			div.appendChild(p); 
			setTimeout('buildImage("'+resp[1]+'")', 3000);
		}
	}
};

var callback_cat =
{
	upload: function(o) 
	{
		var resp = o.responseText.split(":");
		var div = document.getElementById('div'+resp[1]);
		div.parentNode.removeChild(div);
		var cell = document.getElementById('cell_'+resp[3]);
		if(resp[0] == "success") 
		{
			var p = document.createElement('text');
			p.innerHTML = "<img class=\"left_small\" src=\"/images/temp/temp_thumb/"+resp[2]+"\" alt=\"\" />Success: uploaded " + resp[2] + "<br /><a href=\"#\" onclick=\"return remove_file('"+resp[1]+"', '0')\";>remove</a>";
		
			cell.appendChild(p); 
		}
		else if(resp[0] == "failed") {
			var p = document.createElement('p');
			p.innerHTML = "Failed: did not upload " + resp[2] + "<br />" + resp[3];
			div.innerHTML = "";
			div.appendChild(p); 
			setTimeout('buildImage("'+resp[1]+'")', 3000);
		}
	}
};

var callback_csv =
{
	upload: function(o) 
	{
		document.getElementById('csv').style.display = "block";
		var resp = o.responseText.split(":");
		var div = document.getElementById('div'+resp[1]);
		div.parentNode.removeChild(div);
		var cell = document.getElementById('cell');
		if(resp[0] == "success") 
		{
			var p = document.createElement('text');
			p.innerHTML = "Success: uploaded " + resp[2] + "<br />";
			cell.innerHTML = "";
			cell.appendChild(p); 
		}
		else if(resp[0] == "failed") {
			var p = document.createElement('p');
			p.innerHTML = "Failed: did not upload " + resp[2] + "<br />" + resp[3];
			cell.innerHTML = "";
			cell.appendChild(p);
		}
	}
};

function send_file(form_id, file) {
	if(file == "")
		return false;
	var formObject = document.getElementById(form_id);
	YAHOO.util.Connect.setForm(formObject, true);
	
	var files = document.getElementById(form_id);
	//hidding file input
	files.style.display = "none";
	
	if(form_id == "var_image")
		var cObj = YAHOO.util.Connect.asyncRequest('POST', '/admin/upload_image.php', callback_image);
	else if(form_id == "csv")
		var cObj = YAHOO.util.Connect.asyncRequest('POST', '/admin/upload_csv.php', callback_csv);
	else
		var cObj = YAHOO.util.Connect.asyncRequest('POST', '/admin/upload_image.php', callback_cat);
	
	var div = document.createElement('div');
	div.setAttribute('id', "div"+form_id);
	
	var img = document.createElement('img');
	img.setAttribute('src', '/images/load.gif');
	img.setAttribute('alt', 'loading');
	img.setAttribute('class', 'left');
	
	div.appendChild(img);
	
	var p = document.createElement('p');
	p.innerHTML = file;
	
	div.appendChild(p);
	
	files.parentNode.insertBefore(div, files);
}

function remove_file(form, id) {
	ajaxObj.debug=0;
	ajaxObj.format = "JSON";
	ajaxObj.call("action=post_save_form&form=remove_file&id=" + id+"&form_id="+form, show_file);
	return false;
}

function show_file(resp) {
	if(resp) {
		if(resp['form'] == "cat_image") {
			var file = document.getElementById(resp['form']);
			var cell = document.getElementById('cell_'+resp['id']);
			cell.innerHTML = "";
			cell.appendChild(file);
			file.style.display = "inline";
		} else {
			var cell = document.getElementById('cell_'+resp['id']);
			cell.innerHTML = "";
		}
	} else 
	alert("Error: could not remove file");
}