/**
 * @author Rehan Anis
 */

/**
 * Will populate data based on input
 * @param {Object} url
 * @param {Object} placeholder
 */
function AjaxLink(url, placeholder)
{
    if(placeholder == "" || placeholder == null){
        placeholder = 'mainHolder';
    }
    
    if($(placeholder)==''){
        placeholder = $('body');
    }else{
        placeholder = $('#'+placeholder);
    }
	
    if (url.length==0)
    {
        Warning = document.createElement("span");
        Warning.attr('style','color:red;');
        Warning.html('Invalid URL');
        placeholder.append(Warning);
        alert(Warning.html());
        return;
    }
    $.ajax({
        url: url,
        beforeSend: function(msg){
            //alert('Funtion Started');
            image = document.createElement('img');
            lineBreak = document.createElement('br');
            image.src='../images/ajax-loader.gif';
            image.alt='Loading...';
            placeholder.append(lineBreak);
            placeholder.append(image);
        },
        success: function(msg){
            placeholder.html(msg);
            //alert( "Data Saved: " + msg );
        },
        error: function(msg){
            placeholder.html(msg);
        }
    });
}

/* Non Ajax Functions, Utils */
function pause(millis) {
    var date = new Date();
    var curDate = null;
    do {
        curDate = new Date();
    }
    while(curDate-date < millis)
} 

function HideAll() {
    $('.herbList .Panel').each(function(){$(this).hide();});
}

function ShowThis(RowId) {
    $('#'+RowId).fadeIn('slow');
}

function HideThis(RowToHide, RowToShow) {
    $('#'+RowToHide).hide();
    ShowThis(RowToShow);
}

/**
 *used on price.php
 *
 */
function calculatePrices(price){
    var fraight = 20; // Transportation cost
    var PackingCharges = 10; // Packing Charges
    price = parseFloat(price);
    $('#price_fob').val(Math.ceil( (price+PackingCharges) / 0.95));
    var retailPrice = 0;
    var divideFactor = 0;
   
    if     (price < 1000)	{
        divideFactor = 0.9;
    }
    else if(price < 2000)	{
        divideFactor = 0.75;
    }
    else if(price < 3500)	{
        divideFactor = 0.80;
    }
    else if(price < 5000)	{
        divideFactor = 0.85;
    }
    else if(price < 10000)	{
        divideFactor = 0.9;
    }
    else			{
        divideFactor = 0.95;
    }

    retailPrice = Math.ceil( (price + PackingCharges + fraight ) /divideFactor);
    retailPrice = Math.ceil(parseInt(retailPrice)/5)*5;
    $('#retail').val(retailPrice);
}

/*
 * Function for checking and unchecking the values of checkbox where the checkbox id is "active"
 * */
function CheckActive(element)
{
    if($(element).attr('checked')) {
        $('#active').val('1');
    }
    else {
        $('#active').val('0');
    }
}

function checkForm(Elem){
    Elem = '#'+Elem;
    if($(Elem).val().match('Search Herbs')) {
        alert('Please Write Something');
        $(Elem).focus();
        return false;
    }else if($(Elem).val().length == 0) {
        alert('Please Enter something');
        $(Elem).focus();
        return false;
    }else if(!isAlphabet($(Elem))) {
        alert('Please Enter a Valid Name');
        $(Elem).focus();
        return false;
    }else {
        return true;
    }
}

function isNumeric(elem) {
    var result = false;
    var numericExpression = /^[0-9]+$/;
    if(elem.value.match(numericExpression)) {
        result = true;
    }
    return result;
}

function isAlphabet(elem) {
    var result = false;
    var alphaExp = /^[\sa-zA-Z]+$/;
    if(elem.value.match(alphaExp)) {
        result = true;
    }
    return result;
}

function ClearSelect(Elem){
    if($('#'+Elem).val()=='Search Herbs') {
       $('#'+Elem).val('');
    }else {
        $('#'+Elem).select();
    }
}

function checkPassword() {
    if($('#password').val() == $('#retype-password').val() ) {
        $('#retype-password-message').css('color', 'green').text('Passowrd Matches');
        $('#submit-button').attr('disabled','');
    }else {
        $('#retype-password-message').css('color','red').text('Please Type Same Password');
        $('#retype-password').focus();
        $('#submit-button').attr('disabled','disabled');
    }
}

function showSyn(elementId) {
    $('#'+elementId).css({"z-index":100,"overflow":"visible"}).show();
}

function hideSyn(elementId) {
    $('#'+elementId).css({"z-index":1,"overflow":''}).hide();
}

function EditLink(page, getVariable, getValue){
	if(page!='' && getVariable!='' && getValue!=''){
		window.location.href = page + "?" + getVariable + "=" + getValue;
	}else{
		alert('Link is Broken');
	}
}

function DelLink(page, delLink, delValue, name){
	if (page != '' && delLink != '' && delValue != '') {
		AllowDelete = confirm('Are You Sure?\nYou want to delete ' + name + ' id = ' + delValue);
		if(AllowDelete){
			window.location.href = page + "?" + delLink + "=" + delValue;
		}
	}else{
		alert('Link is Broken');
	}
}
function SaveDefault(page, herb_id, herb_images_id){
    if(page!='' && herb_id!='' && herb_images_id!=''){
        url = page + '?' + 'herb_id=' + herb_id + '&herb_images_id=' + herb_images_id;
        //alert(url);
        AjaxLink(url,'MessagePane');
    }else{
        alert('Link is Broken');
    }
}

function ToggleValue(elem){
    elem.value = (elem.checked ? 1 : 0);
    //alert(elem.value);
}
/* End Non Ajax Functions */