var xmlHttp;
var xmlHttp1;
var tempVar1 = true;	//Username ok
var tempVar2;
var tempVar3;			//Username textbox
var catEditing = false;	//Editing category
window.onload = CreateExternalLink;

//CATEGORIES - Edit category
function EditCategory(ID){
	if(catEditing) alert(fLang('closeeditingcatfirst')+'.');
	else{
		document.getElementById('cat'+ID+'a').innerHTML = '<input type="text" value="'+document.getElementById('cat'+ID+'a').innerHTML.substr(2)+
			'" id="newname" style="width: 300px;" /> <input type="button" onclick="EditCategoryClose('+ID+', true);" value="'+fLang('save')+
			'" /> <input type="button" onclick="EditCategoryClose('+ID+', false);" value="'+fLang('cancel')+'" /><input type="hidden" value="'+
			document.getElementById('cat'+ID+'a').innerHTML.substr(2)+'" id="oldvalue" />';
		document.getElementById('newname').select();
		catEditing = true;
	}
}
//CATEGORIES - Edit category close
function EditCategoryClose(ID, Save){
	if(Save){
		SendXmlHttp('xmlhttp.php?type=editprodcategory&id='+ID+'&name='+document.getElementById('newname').value);
		document.getElementById('cat'+ID+'a').innerHTML = '- '+document.getElementById('newname').value;
	}
	else
		document.getElementById('cat'+ID+'a').innerHTML = '- '+document.getElementById('oldvalue').value;
	catEditing = false;
}
//CATEGORIES - Delete category
function DeleteCategory(Name, ID){
	jConfirm(fLang('confirmdelcat') + '?<br /><span class="vet">' + Name + '</span>', fLang('confirm'), function(r) {
		if(r){
			ClearInnerHTML('cat'+ID, '', 'a', 'b');
			SendXmlHttp('xmlhttp.php?type=delprodcategory&id='+ID);
		}
	});
}

//CONVERT - Add first zero
function AddFirstZero(convert){
	if(convert < 10) return '0'+convert;
	else return convert;
}
//CONVERT - Minutes to hours
function MinutesToHours(minutes){
	var hours = 0;
	while(true){
		if(minutes - 60 < 0){
			break;
		}
		else{
			hours++;
		}
		minutes = minutes-60;
	}
	return hours + ':' + AddFirstZero(minutes);
}

//CORRESPOND - Delete correspond
function DeleteCorrespond(ID, language){
	if(language == undefined) language = 'delcorrespond';
	jConfirm(fLang(language) + '?', fLang('confirm'), function(r) {
		if(r){
			SendXmlHttp("xmlhttp.php?type=deletecorrespond&id="+ID);
			$("#cor_tr_"+ID).hide();
		}
	});
}

//FILE - Check extension
function CheckFileExtension(tbID, fileType){
	var tbValue = document.getElementById(tbID).value;
	var extension = new Array();
	//Set the right extensions for the file type
	if(fileType == 'image'){
		extension[0] = ".png";
		extension[1] = ".gif";
		extension[2] = ".jpg";
		extension[3] = ".jpeg";
	}
	//Check if not empty  and check if extension is false
	if(tbValue != '' && !CheckFileExtensionOnly(tbValue, extension)){
		var extensions = '';
		for(var i = 0; i < extension.length; i++){
			extensions += '<br />'+extension[i];
		}
		//Clear the input
		document.getElementById(tbID+'s1').innerHTML = '<input name="'+tbID+'" type="file" id="'+tbID+'" onChange="CheckFileExtension(\''+tbID+
			'\', \''+fileType+'\');" />';
		SendFormError(true, tbID, fLang('extensiononly')+':'+extensions);
	}
	else{
		SendFormError(false, tbID);
	}
}
//FILE - Check extension only
function CheckFileExtensionOnly(value, extensions){
	var extension = value.substr(value.lastIndexOf('.')).toLowerCase();
	for(var i = 0; i < extensions.length; i++){
		if(extension == extensions[i]) return true;
	}
	return false;
}
//FILE - Delete file
function DeleteFile(ID){
	jConfirm(fLang('delfile') + '?', fLang('confirm'), function(r) {
		if(r){
			SendXmlHttp("xmlhttp.php?type=deletefile&fileid="+ID);
			ClearInnerHTML('file'+ID+'_', '', 1, 3);
		}
	});
}
//FILE - Delete file with correspond
function DeleteFileCorrespond(ID){
	if(confirm(fLang('delfile')+'?')){
		SendXmlHttp("xmlhttp.php?type=deletefilecorrespond&corid="+ID);
		ClearInnerHTML('file'+ID+'_', '', 1, 3);
	}
}

//FORM - Submit form
function SubmitForm(formName){
	document.getElementById(formName).submit();
}

//INNER HTML - Calculate
function CalcInnerHTML(name, number, divider){
	if(divider == '+') document.getElementById(name).innerHTML = parseInt(document.getElementById(name).innerHTML) + number;
	else if(divider == '-') document.getElementById(name).innerHTML = parseInt(document.getElementById(name).innerHTML) - number;
	else if(divider == '*') document.getElementById(name).innerHTML = parseInt(document.getElementById(name).innerHTML) * number;
	else if(divider == '/') document.getElementById(name).innerHTML = parseInt(document.getElementById(name).innerHTML) / number;
}
//INNER HTML - Calculate
function CalcInnerHTMLD(name, name1, view, divider){
	if(document.getElementById(name))
		var value1 = parseFloat(document.getElementById(name).value.replace(',','.'));
	else value1 = 0;
	if(document.getElementById(name1))
		var value2 = parseFloat(document.getElementById(name1).value.replace(',','.'));
	else value2 = 0;
	if(isNaN(value1)) value1 = 0;
	if(isNaN(value2)) value2 = 0;
	
	if(divider == '+') value3 = value1 + value2;
	else if(divider == '-') value3 = value1 - value2;
	else if(divider == '*') value3 = value1 * value2;
	else if(divider == '/') value3 = value1 / value2;
	document.getElementById(view).innerHTML = value3.toFixed(2).replace('.',',');
}
//INNER HTML - Clear
function ClearInnerHTML(name1, name2, start, stop){
	if(isNaN(start)){
		var gI = 0;
		var alphabet = new Array('a','b','c','d','e','f','g','h','i');
		while(true){
			if(document.getElementById(name1+alphabet[gI]+name2)) document.getElementById(name1+alphabet[gI]+name2).innerHTML = '';
			if(stop == alphabet[gI] || alphabet[gI] == 'i') break;
			gI++;
		}
	}
	else{
		for(var gI = start; gI < stop + 1; gI++){
			if(document.getElementById(name1+gI+name2)) document.getElementById(name1+gI+name2).innerHTML = '';
		}
	}
}

//INPUT - Disable enter submit
function NoEnterSubmit(){
	if (event.keyCode == 13){
		event.cancelBubble = true;
		event.returnValue = false;
	}
}

//INPUT CHECK - Email
function CheckInputEmail(textbox, length){
	var ValidMail = true;
	var emailAdress = document.getElementById(textbox).value;
	//Check the length
	if(length) CheckInputLength(textbox,length);
	//Check for @
	if (emailAdress.indexOf('@')==-1 || emailAdress.indexOf('@')==0) ValidMail = false;
	//Check for 1 dot
	else if (emailAdress.indexOf('.')==-1) ValidMail = false;
	//Check for text after .
	
	//Check for text before and after @
	
	
	//Show valid mail
	if(ValidMail) SendFormError(false, textbox, '', textbox);
	else SendFormError(true, textbox, fLang('emailfail'), textbox);
	return ValidMail;
}
//INPUT CHECK - Length
function CheckInputLength(textbox,length){
	if(document.getElementById(textbox).value.length > length)
		document.getElementById(textbox).value = document.getElementById(textbox).value.substr(0,length);
}
//INPUT CHECK - Number only
function CheckInputNumber(name, divider){
	var inputValue = document.getElementById(name).value;
	var newValue = '';
	if(isNaN(inputValue)){
		for(var i = 0; i < inputValue.length; i++){
			if(divider){
				if(!isNaN(inputValue[i]) || inputValue[i] == '.' || inputValue[i] == ',') newValue += inputValue[i];
			}
			else{
				if(!isNaN(inputValue[i])) newValue += inputValue[i];
			}
		}
		document.getElementById(name).value = newValue;
	}
}
//INPUT CHECK - Number and letter only
function CheckInputNumberLetter(textbox, expArray){
	if(!expArray) expArray = new RegExp("[^0-9a-zA-Z._]","");
	var tbValue = document.getElementById(textbox).value;
	var newValue = '';
	for(var i = 0; i < tbValue.length; i++){
		if(!tbValue[i].match(expArray)) newValue += tbValue[i];
	}
	if(tbValue != newValue) document.getElementById(textbox).value = newValue;
}
//INPUT CHECK - Phone number
function CheckInputPhone(textbox){
	return true;
}
//INPUT CHECK - Check Password
function CheckInputPassword(textbox){
	//Check if password is long enough
	//TODO: Check
	//Check if the passwords are the same
	//alert(document.getElementById(textbox).value);//+'--'+document.getElementById(textbox+'1').value);
	if(document.getElementById(textbox).value != document.getElementById(textbox+'1').value){
		SendFormError(true, textbox+'1', fLang('passwordnomatch'), textbox);
		return false;
	}
	else{
		SendFormError(false, textbox+'1', '', textbox);
		return true;
	}
}
//INPUT CHECK - Select if value
function SelectIfValue(value, textbox){
	if(document.getElementById(textbox).value == value) document.getElementById(textbox).select();
}
//INPUT CHECK - User name
function CheckInputUserName(textbox, curUser){
	tempVar3 = textbox;
	var user = document.getElementById(textbox).value;
	var message = '';
	CheckInputLength(textbox,16);
	CheckInputNumberLetter(textbox);
	if(user.length < 4){
		SendFormError(true, textbox, fLang('min4char'));
		tempVar1 = false;
	}
	else{
		SendFormError(false, textbox);
		tempVar1 = true;
		SendXmlHttp("xmlhttp.php?type=user&string="+user+"&user="+curUser, CheckInputUserName1);
	}
}
function CheckInputUserName1(){
	if (xmlHttp.readyState==4){
		var xmlText = xmlHttp.responseText;
		if (xmlText.substr(0,1) == '0'){
			SendFormError(false, tempVar3);
			tempVar1 = true;
		}
		else{
			SendFormError(true, tempVar3, xmlText.substring(1));
			tempVar1 = false;
		}
	}
}
//INPUT - Send value
function SendValue(target, source, type, type1){
	document.getElementById(target).innerHTML = document.getElementById(source).value;
}
//INPUT - Send form error
function SendFormError(show, element, value, element1){
	//Display form error
	if(show && (!document.getElementById(element+'div1') || document.getElementById(element+'div1').innerHTML != value)){
		document.getElementById(element+'s').innerHTML = '<br /><div id="'+element+'div" class="formfalse"><table><tr><td><img src="'+
		'Pics/sign_stop.png" alt=" " /></td><td style="vertical-align: middle"><div id="'+element+'div1">'+value+'</div></td></tr></table></div>';
		$("#"+element+"div").show('blind',400);
		document.getElementById(element+'d').style.backgroundColor = '#FF6C6C';
		document.getElementById(element+'d').style.border = '1px solid black';
		if(element1){
			document.getElementById(element1+'d').style.backgroundColor = '#FF6C6C';
			document.getElementById(element1+'d').style.border = '1px solid black';
		}
	}
	//Hide form error
	else if(!show && (document.getElementById(element+'div1') && document.getElementById(element+'div1').innerHTML != '')){
		$("#"+element+"div").hide('blind',400);
		document.getElementById(element+'div').innerHTML = '';
		document.getElementById(element+'d').style.backgroundColor = '#FFFFFF';
		document.getElementById(element+'d').style.border = 'none';
		if(element1){
			document.getElementById(element1+'d').style.backgroundColor = '';
			document.getElementById(element1+'d').style.border = 'none';
		}
	}
}
//LOADING BAR - Show loading bar
function loadingBar(contentID){
	$(contentID).html('<img src="Pics/loading_bar.gif" />');
}
//PERSON - Remove person
function removePerson(ID, Name){
	jConfirm(fLang('confirmdelperson') + '?<br /><span class="vet">' + Name + '</span>', fLang('confirm'), function(r) {
		if(r){
			$("#person_tr_"+ID).hide();
			SendXmlHttp('xmlhttp.php?type=delperson&id='+ID);
		}
	});
}
//Print page
function PrintPage(page){
	SendXmlHttp(page, PrintPage1);
}
function PrintPage1(){
	if(xmlHttp.readyState==4){
		printWindow = window.open('');
		printWindow.document.write(xmlHttp.responseText);
		printWindow.document.close();
		printWindow.focus();
		printWindow.print();
		printWindow.close();
	}
}
//Print element
function PrintElement(element, title, css){
	if(!title) var title = '';
	else var title = '<h1>'+title+'</h1>';
	if(!css) var css = 'mainp';
	printWindow = window.open('');
	printWindow.document.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>'+title+'</title><link href="CSS/'+css+'.css" rel="stylesheet" type="text/css" /></head><body>');
	printWindow.document.write(title+document.getElementById(element).innerHTML);
	printWindow.document.write('</body></html>');
	printWindow.document.close();
	printWindow.focus();
	printWindow.print();
	//printWindow.close();
}
//Print text
function PrintText(text, title, css){
	if(!title) var title = '';
	else var title = '<h1>'+title+'</h1>';
	if(!css) var css = 'mainp';
	printWindow = window.open('');
	printWindow.document.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>'+title+'</title><link href="CSS/'+css+'.css" rel="stylesheet" type="text/css" /></head><body>');
	printWindow.document.write(title+text);
	printWindow.document.write('</body></html>');
	printWindow.document.close();
	printWindow.focus();
	printWindow.print();
	//printWindow.close();
}
//Show/hide element
function MakeVisible(name,absolute,show){
	if(!show) var show = 'more';
	if(document.getElementById(name).style.visibility == 'hidden' || document.getElementById(name).style.visibility == ''){
		document.getElementById(name).style.visibility = 'visible';
		if(!absolute) document.getElementById(name).style.position = 'relative';
		document.getElementById(name+'s').innerHTML = '<img src="Pics/sign_minus.png" alt="'+fLang('hide')+'" title="'+fLang('hide')+'" />';
	}
	else{
		document.getElementById(name).style.visibility = 'hidden';
		if(!absolute) document.getElementById(name).style.position = 'absolute';
		document.getElementById(name+'s').innerHTML = '<img src="Pics/sign_plus.png" alt="'+fLang(show)+'" title="'+fLang(show)+'" />';
	}
}
//Show/hide element visibility only
function MakeVisibleOnly(name, position){
	if(document.getElementById(name).style.visibility == 'hidden' || document.getElementById(name).style.visibility == ''){
		document.getElementById(name).style.visibility = 'visible';
		if(position) document.getElementById(name).style.position = 'relative';
	}
	else{
		document.getElementById(name).style.visibility = 'hidden';
		if(position) document.getElementById(name).style.position = 'absolute';
	}
}

//Convert links to target = blank
function CreateExternalLink(){
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i = 0; i < anchors.length; i++){
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") anchor.target = "_blank";
	}
}

//Create the XML HTTP Object
function CreateXmlHttp(){
	xmlHttp = null;
	if (window.ActiveXObject) xmlHttp = new ActiveXObject("Microsoft.xmlHttp");
	else if (window.XMLHttpRequest) xmlHttp = new XMLHttpRequest();
	else alert('You\'re browser doesn\'t supports this website.');
	return xmlHttp;
}
//Send XML HTTP Object
function SendXmlHttp(url, onReady){
	xmlHttp = CreateXmlHttp();
	if(onReady) xmlHttp.onreadystatechange=onReady;
	if (xmlHttp == null) return;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}
//Show alert for testing
function AlertXmlHttp(){
	if(xmlHttp.readyState==4){
		alert('\''+xmlHttp.responseText+'\'');
	}
}
//Create the XML HTTP Object1
function CreateXmlHttp1(){
	xmlHttp1 = null;
	if (window.ActiveXObject) xmlHttp1 = new ActiveXObject("Microsoft.xmlHttp");
	else if (window.XMLHttpRequest) xmlHttp1 = new XMLHttpRequest();
	else alert('You\'re browser doesn\'t supports this website.');
	return xmlHttp1;
}
//Send XML HTTP Object1
function SendXmlHttp1(url, onReady){
	xmlHttp1 = CreateXmlHttp();
	if(onReady) xmlHttp1.onreadystatechange=onReady;
	if (xmlHttp1 == null) return;
	xmlHttp1.open("GET", url, true);
	xmlHttp1.send(null);
}
//Show alert for testing
function AlertXmlHttp1(){
	if(xmlHttp1.readyState==4){
		alert('\''+xmlHttp1.responseText+'\'');
	}
}

//Disable # links
$(document).ready(function () {
	disableLinks();
});
function disableLinks(){
	$("a").click(function() { 
		if($(this).attr('href') == '#') return false;
	});
}
