/// [KVA][14.02.2008]
/// <summary>
/// Breaks number into categories
/// </summary>
/// <param name="number">number</param>
/// <param name="delimetr">delimetr of the categories</param>
/// <return>String with broken into categories number</return>
function getNumberWithCategoriesDelimiter(number, delimetr) {
        if(!number) return;

        number = number.toString();    
        var numLength = number.length;
        var result = "";

	if(numLength < 3) return number

        for(var i=1; i<numLength+1; i++){        
            if(i%3 == 0) {                                                             
                result = delimetr + number.substr(numLength-i, 3) + result                                

		if(numLength-i < 3) {
        	        result = number.substring(0, numLength-i) + result;                
	                return result;
            	}
            }

            
        }                
}

function checkIncreseBudget(form, labelID, budgetOld, errTxt)
{
	budgetNew = form.budgetNew.value;
	var LABEL = document.getElementById(labelID);
	var KBD = document.createElement('kbd');

	if (LABEL) {
		if (budgetOld < budgetNew) {
			kbdList = LABEL.getElementsByTagName('kbd');
			KBD1 = kbdList.item(0);
			if(kbdList.length > 0 && KBD1){
				LABEL.removeChild(KBD1);
			}
			return true;
		} else {
			LABEL.appendChild(KBD);
			KBD.appendChild(document.createTextNode(errTxt));
		}
	}
	return false;
}

function checkIncreseDeadline(form, labelID, deadlineOldStr, errTxt)
{
	var deadlineNew = getCurDate(form.deadlineNew.value).valueOf();
	var deadlineOld = getCurDate(deadlineOldStr).valueOf();

	var LABEL = document.getElementById(labelID);
	var KBD = document.createElement('kbd');

	if (LABEL) {
		if (deadlineOld < deadlineNew) {
			kbdList = LABEL.getElementsByTagName('kbd');
			KBD1 = kbdList.item(0);
			if(kbdList.length > 0 && KBD1){
				LABEL.removeChild(KBD1);
			}

			return true;
		} else {
			LABEL.appendChild(KBD);
			KBD.appendChild(document.createTextNode(errTxt));
		}
	}

	return false;
}

function getCurDate(date)
{
	var day   = (new RegExp(localDateFormat.replace('%m', '[0-9]{1,2}').replace('%d', '([0-9]{1,2})').replace('%Y', '[0-9]{2,4}'))).exec(date)[1];
	var month = (new RegExp(localDateFormat.replace('%m', '([0-9]{1,2})').replace('%d', '[0-9]{1,2}').replace('%Y', '[0-9]{2,4}'))).exec(date)[1];
	var year  = (new RegExp(localDateFormat.replace('%m', '[0-9]{1,2}').replace('%d', '[0-9]{1,2}').replace('%Y', '([0-9]{2,4})'))).exec(date)[1];

	if (year.length < 4) {
		if (year.length < 3) {
			year = '20'+year;
		} else {
			year = '2'+year;
		}
	}

	var d = new Date(parseInt(year), parseInt(month), parseInt(day));
	return d;
}

function ShowConfirm(text)
{
	document.getElementById('prolong_confirm_text').innerHTML = text;
	ShowBalloon(document.getElementById('prolong_ok'), div_prolong_confirm, 60, 20, true);
}

function CheckProlong()
{
	if (document.getElementById('dr0').isSet()) {
		var ordered = false;
		var ordered_finetune = false;
		for (a in services) {
			if (services[a] == 'offline_fine_tune_brief')
				ordered_finetune = document.getElementById(services[a]).checkSelected() | ordered_finetune;
			else
				ordered = document.getElementById(services[a]).checkSelected() | ordered;
		}
		if (ordered) {
			ShowConfirm(text_prolong_brief);
		} else {
			if (ordered_finetune) {
				ShowConfirm(text_publish_finetunebrief_only);
			} else {
				ShowConfirm(text_publish_now);
			}
		}
	} else {
		ShowConfirm(text_prolong_brief);
	}
}

function CountNewBudget()
{
	var obj = document.getElementById('budg');
	var a = parseInt(obj.value);
	var newBudget = ((isNaN(a)?0:a) + brief_budget);

	document.getElementById('newbudget').innerHTML = '$' + getNumberWithCategoriesDelimiter(newBudget, '&nbsp;');
//document.getElementById('newbudget').innerHTML = '$' + newBudget;
	return a;
}

function CheckServices(budget)
{
	for (a in services_BudgetConstraint) {
		if (services_BudgetConstraint[a] > budget) {
			document.getElementById(services[a]).bclear();
			document.getElementById(services[a]).disable();
		} else {
			document.getElementById(services[a]).enable();
		}
	}
	
}

function CheckBudget()
{
	var add_budget = CountNewBudget();
	CheckServices( isNaN(add_budget) ? brief_budget : add_budget + brief_budget);
}

///
///
///

function showIncrese(divID, divID2, showHide)
{
	var DIV = document.getElementById(divID);
	var DIV2 = document.getElementById(divID2);

	if (showHide) {
		if (DIV) {
			if (DIV.style.display == "none") {
				DIV.style.display = "block";
			} else {
				DIV.style.display = "none";
			}
		}
	}

	if (DIV2) {
		DIV2.style.display = "none";
	}

    return false;
}
